1

这是对没有回应的问题的另一种看法。iPhone 的扩展名为 GL_EXT_texture_format_BGRA8888,它应该允许我使用 BGRA 作为 glTexImage2d 的内部格式。

我只有 BGRA 数据,因为这是我可以从相机中获得的唯一信息(除了我还没有准备好处理的 YUV)。

如何将 BGRA 与 一起使用glReadPixels?我尝试的任何东西都会给我一个黑屏!

4

2 回答 2

2

您在创建和加载纹理后检查了 OpenGL 错误吗?

你绑定纹理了吗?

您是否启用了纹理映射glEnable

您是否为多边形的每个顶点指定了纹理坐标?

于 2011-02-25T02:04:46.647 回答
0

根据OpenGL ES 2.0 规范glReadPixels()仅支持 RGBA 作为从 FBO 回读的格式。我相信您在此处引用的扩展名仅允许将 BGRA 像素格式数据提供给您的纹理,而不是您可以读回 BGRA 格式的 FBO。

正如 Ben 所建议的,如果您需要最终结果是 BGRA,您可以在片段着色器中调整颜色组件。

于 2011-02-25T19:46:08.063 回答