虽然OpenGL颜色应该介于0和1之间,但我发现如果将其中一个RGB元素设置为大于1的数字,则会导致整个RGB值接近白色。这是未完成的行为,或未记录的行为,或记录但不是众所周知的行为?
例如:
绿色:0,1,0
怀特:1,1,1
接近白色:0,500,0
一个元素的值越大,整个RGB颜色越接近白色。
如果此行为与特定平台隔离,我在iOS上使用ES 2.0。
答案 0 :(得分:0)
听起来像是一个驱动程序错误(没有输入值的剪辑),并且由于开发人员采用的快捷方式,它会影响其他通道。看起来像这样的代码
uint32_t packed_bgra = ((b*0xff) << 24) | ((g*0xff) << 16) | ((r*0xff) << 8) | (a*0xff);
我要提交错误报告。