抖动gouraud阴影的顶点颜色多边形以去除条带

时间:2008-10-13 18:29:00

标签: opengl-es quantization dithering

我在OpenGL ES上使用low-resolution, embedded device

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

我的主要经验是使用软件渲染器。使用软件渲染器,通常会抖动mach bands和其他绑定工件。我们经常在渲染帧的量化步骤中执行此操作,其中颜色的浮点,高精度表示被转换为较低精度的输出(通常具有整数分量)。我们通过向上或向下随机舍入最后一个整数分量来实现抖动,以便在图像中插入最微小的噪声,以便愚弄眼睛看到颜色之间的连续和平滑混合。

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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