我正在编写gles2应用程序,它可以在除Galaxy Notes之外的所有设备上正常工作。颜色似乎不是RGBA,而是某种ABGR (更像ABGA)
蓝色按钮绘制为黄色,黑色标题为红色(很抱歉发布照片,但屏幕截图显示正确的颜色,这很奇怪)
我使用离屏缓冲区来绘制它上面的所有内容,然后在屏幕上绘制这个缓冲区的图像。
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, m_width, m_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0)
这就是我使用texImage2d处理纹理的方法。
我写了一些测试应用程序,并显示了屏幕截图:
这是它在现实生活中的样子
发布于 2016-08-29 10:33:00
检查this answer。
尤其是,如果您使用GL_UNSIGNED_BYTE
,您似乎会失去字节顺序。如果你要做的是在一个整型中存储4个字节,那么你应该改用GL_UNSIGNED_INT_8_8_8_8
。然后,它将知道在该平台上期望它们的顺序。
https://stackoverflow.com/questions/39203497
复制