最近我一直试图清理我的openGl渲染.我现在已经有这些文物了一段时间,但从来没有真正考虑过它.这是一个屏幕截图:

经过一番研究后,我无法弄清楚它有什么问题.我在OSX上使用OpenGl,但我在其他系统上尝试过,并且会出现相同的工件.
您所体验的是每通道色彩空间8位的有限动态范围.简单的灰度梯度,即每通道8比特帧缓冲器上的R = B = G,可以仅具有2 ^ 8 = 256个不同的值.如果您在较大区域内的类似值(如图片中)之间进行转换,则结果是低动态范围条带.
克服这个问题的唯一方法是用更大的位数计算梯度.为了在低动态范围屏幕上显示图像,您可以使用抖动.