OpenGL颜色高于1

时间:2012-12-28 09:44:43

标签: opengl opengl-es opengl-es-2.0

虽然OpenGL颜色应该介于0和1之间,但我发现如果将其中一个RGB元素设置为大于1的数字,则会导致整个RGB值接近白色。这是未完成的行为,或未记录的行为,或记录但不是众所周知的行为?

例如:

绿色:0,1,0

怀特:1,1,1

接近白色:0,500,0

一个元素的值越大,整个RGB颜色越接近白色。

如果此行为与特定平台隔离,我在iOS上使用ES 2.0。

1 个答案:

答案 0 :(得分:0)

听起来像是一个驱动程序错误(没有输入值的剪辑),并且由于开发人员采用的快捷方式,它会影响其他通道。看起来像这样的代码

uint32_t packed_bgra = ((b*0xff) << 24) | ((g*0xff) << 16) | ((r*0xff) << 8) | (a*0xff);

我要提交错误报告。