这是对没有回应的问题的另一种看法。iPhone 的扩展名为 GL_EXT_texture_format_BGRA8888,它应该允许我使用 BGRA 作为 glTexImage2d 的内部格式。
我只有 BGRA 数据,因为这是我可以从相机中获得的唯一信息(除了我还没有准备好处理的 YUV)。
如何将 BGRA 与 一起使用glReadPixels
?我尝试的任何东西都会给我一个黑屏!
这是对没有回应的问题的另一种看法。iPhone 的扩展名为 GL_EXT_texture_format_BGRA8888,它应该允许我使用 BGRA 作为 glTexImage2d 的内部格式。
我只有 BGRA 数据,因为这是我可以从相机中获得的唯一信息(除了我还没有准备好处理的 YUV)。
如何将 BGRA 与 一起使用glReadPixels
?我尝试的任何东西都会给我一个黑屏!
您在创建和加载纹理后检查了 OpenGL 错误吗?
你绑定纹理了吗?
您是否启用了纹理映射glEnable
?
您是否为多边形的每个顶点指定了纹理坐标?
根据OpenGL ES 2.0 规范,glReadPixels()
仅支持 RGBA 作为从 FBO 回读的格式。我相信您在此处引用的扩展名仅允许将 BGRA 像素格式数据提供给您的纹理,而不是您可以读回 BGRA 格式的 FBO。
正如 Ben 所建议的,如果您需要最终结果是 BGRA,您可以在片段着色器中调整颜色组件。