2009-06-26 80 views
0

我试过在我的基于OpenGL ES的iPhone游戏中使用带有渐变的png作为纹理。渐变不能正确绘制。我怎样才能解决这个问题?如何正确显示在iPhone上使用OpenGL ES的渐变png?

“未正确绘制”我的意思是渐变不光滑,似乎会降低到特定颜色的部分,而不是平滑过渡。

+0

你是什么意思“未正确绘制”? – 2009-06-26 19:44:04

回答

1

基本问题是纹理中RGB的位数太少或(不太可能)帧缓冲区很少。 PNG文件不会被图形硬件直接使用 - 它必须转换成一些内部格式。我不知道OpenGL ES API,但可能是直接将它传递给.PNG文件,或者您首先执行某种转换步骤,然后将转换后的数据交给Open GL ES。在任何一种情况下,请查阅相关文件以确保所使用的内部格式具有足够的深度。例如,256色调色板图像就足够了,24位RGB或32位RGBA格式就足够了。我强烈怀疑你的PNG被转换为RGB15或RGB16,每个颜色分量只有5或6位 - 不足以显示平滑的渐变。