首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在没有GL_LUMINANCE的情况下将YUV数据传递到片段着色器中

如何在没有GL_LUMINANCE的情况下将YUV数据传递到片段着色器中
EN

Stack Overflow用户
提问于 2013-09-07 22:50:31
回答 1查看 1.4K关注 0票数 0

在Android中,为了将YUV420sp传递到片段着色器中,我将将数据分割成Y-U-V的信息传递给Y-U-V,并以GL_LUMINANCE格式传递每个sugin glTexImage2D。

但现在我需要做的是,我需要FBO渲染,问题是FBO不支持GL_LUMINANCE。

那么,在不使用GL_LUMINANCE的情况下传递YUV数据的最佳方法是什么?

顺便说一句,我不能在CPU中处理YUV并将其转换为RGB或其他东西,因为关键是将YUV作为GPU传递。

编辑:由于这是对安卓,单一渠道GL_RED将无法工作,因此,尚未实现。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-08 01:42:49

在可编程流水线中,完全没有必要使用GL_LUMINANCE

在最基本的层次上,这是一种允许纹理在固定功能管道的日子里摇摆的黑客行为。现在,您使用GL_RED作为单通道纹理,您可以在片段着色器中任意使用它。

您想复制GL_LUMINANCE的是:vec4 (texture (...).rrr, 1.0)。在最近的OpenGL实现中,您甚至可以使用ARB_texture_swizzle在固定函数管道中这样做。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18678670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档