【问题标题】:OpenGL rendering off by one pixelOpenGL 渲染减少一个像素
【发布时间】:2013-12-10 19:51:15
【问题描述】:

(我意识到这个问题也被问到here,但没有对我有用的答案,所以我再次询问,希望我能得到一个可行的解决方案)

我正在使用 OpenGL 来渲染一种数据查看界面,我需要像素完美的渲染,否则它看起来很丑。

问题出在某些图形驱动程序上,OpenGL 渲染了 1 个像素,在我的例子中是左侧一个。对 (0.375, 0.375) 进行平移可以修复图元,但它确实严重模糊了纹理,不幸的是这是不可接受的。如何在不模糊纹理的情况下检测和/或修复偏移像素?

【问题讨论】:

  • 一些代码会有所帮助。
  • 我在 OpenGL wiki 上找到了一个非常有用的页面,但我再也找不到了 :(。无论如何,为什么你不能使用 glCopyPixels?

标签: c# opengl rendering pixel opentk


【解决方案1】:

当数学方程与像素内的菱形相交时,线/点会为片段着色。当整个像素位于多边形内时,多边形会为片段着色。您的修复没问题,因为没有线/点恰好落在 2 个像素的边界上,并且偏移量刚好足够,因此多边形不会在像素边界上振荡。

对于纹理模糊度,您可以使用 NEAREST 过滤器或使用相同的值对多边形进行负偏移。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    相关资源
    最近更新 更多