当前位置: 首页 > news >正文

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

相关文章:

  • 机器狗行业调研:全球市场规模将达到数十亿美元
  • 【C++】C++入门基础讲解(一)
  • 算法沉淀——滑动窗口(leetcode真题剖析)
  • 【01】Linux 基本操作指令
  • 关于达梦认证DCA DCP,TIDB认证PCTA PCTP考试那点事儿
  • 力扣hot100 子集 回溯 超简洁
  • 基于大数据的B站数据分析系统的设计与实现
  • 2024年华为OD机试真题-开源项目热榜-Python-OD统一考试(C卷)
  • 硬件知识(1) 手机的长焦镜头
  • 【supervisor】unix:///tmp/supervisor.sock no such file
  • Pull模式和Push模式
  • 计网Lesson11 - 虚拟机网络环境及socket概述
  • docker 修改镜像存储路径
  • 从前端Vue到后端Spring Boot:接收JSON数据的正确姿势
  • Lombok
  • JAVA 学习IO流
  • Mithril.js 入门介绍
  • MySQL数据库运维之数据恢复
  • PermissionScope Swift4 兼容问题
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • Vue2.0 实现互斥
  • 当SetTimeout遇到了字符串
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 关于extract.autodesk.io的一些说明
  • 后端_MYSQL
  • 机器学习学习笔记一
  • 解决iview多表头动态更改列元素发生的错误
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 区块链将重新定义世界
  • 首页查询功能的一次实现过程
  • 物联网链路协议
  • 用Visual Studio开发以太坊智能合约
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • zabbix3.2监控linux磁盘IO
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​如何使用QGIS制作三维建筑
  • ###C语言程序设计-----C语言学习(3)#
  • (1)无线电失控保护(二)
  • (11)iptables-仅开放指定ip访问指定端口
  • (11)MATLAB PCA+SVM 人脸识别
  • (a /b)*c的值
  • (Java数据结构)ArrayList
  • (zhuan) 一些RL的文献(及笔记)
  • (第二周)效能测试
  • (含笔试题)深度解析数据在内存中的存储
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (一)为什么要选择C++
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)3D模板阴影原理
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (转载)PyTorch代码规范最佳实践和样式指南
  • . NET自动找可写目录
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)