【发布时间】:2013-03-06 11:07:25
【问题描述】:
我第一次尝试在 iOS 下使用 OpenGL,试图通过将 YUV 图像转换为 RGB 来渲染它们。我环顾四周,在这里和那里找到了一些示例,并且我计划使用 Apple 的 GLCameraRipple 示例代码中提供的顶点/片段着色器。我了解执行转换所需的数学。我无法理解 OpenGL API 以及如何在屏幕上简单地绘制 2D 纹理。
谁能说明使用 OpenGL 绘制纹理所需的高级步骤?如果我从概念上理解需要做什么,我希望我能够弄清楚细节。
据我所知,顶点着色器在片段着色器之前触发,顶点着色器对顶点进行操作,片段着色器对介于两者之间的所有内容进行操作。可变关键字用于将在顶点之间插值的数据发送到片段着色器。
这会产生一些问题:
- 是否需要传递一组代表纹理二维帧的顶点?
- 在传递顶点之前是否需要将 YUV 数据传递给片段着色器?
- 片段着色器如何使用插值坐标来访问适当的 YUV 样本?
- 如何访问最终结果?
- 将适当的数据传递给着色器后如何触发操作?
感谢您的宝贵时间。
【问题讨论】:
标签: ios opengl-es glsl textures shader