iOS使用GL_RGBA8

sha*_*vey 2 iphone textures opengl-es

有没有办法GL_RGBA8在iPhone/iPad上使用?当我尝试使用时,我的纹理显示为空白GL_RGBA8_OES.GL_RGBA使用透明度时会导致问题.

我没有在真实设备上试过它,只在模拟器中试过.

小智 7

GL_RGBA8用于渲染缓冲区.见http://www.khronos.org/registry/gles/extensions/OES/OES_rgb8_rgba8.txt.

获取8位RGBA纹理时,调用glTexImage2Duse GL_RGBA作为格式和GL_UNSIGNED_BYTE类型.

如果您没有出现透明度问题,请确保GL_BLEND已启用,请确保glBlendFunc正在使用该设置正确设置混合,并且(对于GLES 1.x)仔细检查glTexEnv设置是否正确.我认为这一切都是相关的......

  • 刚刚发生,如果在每次OpenGL调用后都使用`glGetError`,这种错误可能更容易被发现.`assert(glGetError()== GL_NO_ERROR)`将为初学者做.我在另一个答案中谈到这一点:http://stackoverflow.com/questions/3764173/android-opengl-es-i-cant-make-glulookat-gluperspective-work (2认同)