OpenGL ES 渲染 NV21、NV12 格式图像有哪些“姿势”?

使用2个纹理实现 NV21 格式图像渲染

前文提到渲染 NV21 格式图像需要使用 2 个纹理,分别用于保存 Y plane 和 UV plane 的数据,然后在片段着色器中分别对 2 个纹理进行采样,转换成 RGB 数据。

OpenGLES 渲染 NV21或 NV12 格式图像需要用到 GL_LUMINANCE 和 GL_LUMINANCE_ALPHA 格式的纹理,其中 GL_LUMINANCE 纹理用来加载 NV21 Y Plane 的数据,GL_LUMINANCE_ALPHA 纹理用来加载 UV Plane 的数据。

OpenGLES 常用纹理的格式类型
在这里插入图片描述
GL_LUMINANCE 纹理在着色器中采样的纹理像素格式是(L,L,L,1),L 表示亮度。

GL_LUMINANCE 纹理在着色器中采样的纹理像素格式是(L,L,L,A),A 表示透明度。

加载 NV21 的 2 个 Plane 数据到纹理,ppPlane[0] 表示 Y Plane 的指针,ppPlane[1] 表示 UV Plane 的指针,注意 2 个纹理的格式和宽高。

//upload Y plane data

相关推荐

  1. 什么是云渲染?云渲染的优势哪些

    2024-01-30 17:14:01       39 阅读
  2. 【QT教程】QT6图形渲染OpenGL编程

    2024-01-30 17:14:01       14 阅读
  3. 【QT教程】QT6图形渲染OpenGL编程

    2024-01-30 17:14:01       10 阅读
  4. 使用OpenGLopengl ES 渲染YUV图片文件的QT示例

    2024-01-30 17:14:01       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-30 17:14:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-30 17:14:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-30 17:14:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-30 17:14:01       20 阅读

热门阅读

  1. CSS transition(过渡效果)详解

    2024-01-30 17:14:01       35 阅读
  2. 【Rust】第七节:枚举与模式匹配

    2024-01-30 17:14:01       41 阅读
  3. Tensorflow2.x实现用于model.fit()中的医学图像dataset

    2024-01-30 17:14:01       25 阅读
  4. js读取json的固定数据的一种方法

    2024-01-30 17:14:01       36 阅读
  5. html表单添加默认创建时间

    2024-01-30 17:14:01       35 阅读
  6. vue数据绑定

    2024-01-30 17:14:01       39 阅读
  7. 基础算法-差分-一维数组

    2024-01-30 17:14:01       30 阅读
  8. 基于STM32F103的路灯监控系统设计

    2024-01-30 17:14:01       30 阅读
  9. 聊聊PowerJob的SystemInfoController

    2024-01-30 17:14:01       31 阅读