3

我在低分辨率嵌入式设备上使用OpenGL ES

我已经使用顶点着色将垂直颜色渐变应用到用作渲染场景背景的大多边形上。我可以在颜色渐变中看到清晰可见的条带伪影。

我的主要经验是使用软件渲染器。使用软件渲染器,通常会抖动掉马赫带和其他带状伪影。我们经常在渲染帧的量化步骤中执行此操作,其中浮点、高精度的颜色表示被转换为较低精度的输出(通常带有整数分量)。我们通过随机向上或向下舍入最终整数分量来实现抖动,以在图像中插入最微小的噪声,从而欺骗眼睛看到颜色之间的连续和平滑混合。

我的问题是我是否可以使用 OpenGL ES 来实现这一点?这种抖动是OpenGL管道的一部分,还是我应该跳过顶点着色并将渐变渲染到纹理并对其应用一些噪声?

4

2 回答 2

1

你试过 glEnable(GL_DITHER) 吗?它通常最初是启用的,但我从未使用过 GL ES 或嵌入式设备。它还可能取决于您在帧缓冲区中使用的颜色深度,如果每个通道只有 4 位,您将获得伪影。

于 2008-10-15T16:41:10.440 回答
0

我从来没有听说过你描述的在 OGL 管道中的效果。不过,我的知识在这一点上有点过时,所以我可能错了。如果可以的话,我会给渲染纹理一个镜头。

于 2008-10-13T19:06:15.610 回答