OpenGL Y420着色器

时间:2013-12-31 05:06:55

标签: opengl lwjgl jogl

我正在使用OpenGL着色器。我当前的着色器将采用RGB24格式的纹理并显示。我想将Y420作为输入并在片段着色器级别转换为RGB24。指导我继续这一点。

1 个答案:

答案 0 :(得分:0)

通过OpenGL渲染YUV的能力取决于平台。大多数平台通过扩展显示YUV流纹理功能,例如http://www.khronos.org/registry/gles/extensions/OES/OES_EGL_image_external.txt

GL_OES_EGL_image_external

对于基于eglImage的流媒体,你可以参考sgxperf代码库中的TEST16,

https://github.com/prabindh/sgxperf/blob/master/sgxperf_gles20_vg.cpp

此外,当您使用这些扩展时,无需在着色器中进行任何转换。在您在着色器中处理之前,采样器(HW)已经转换为RGB。

为了开发完整的应用程序,您通常需要其他附加机制,例如与显示器同步等。如果您的供应商提供集成了GL流功能的gstreamer接收器,那将是最佳选择。