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

OpenGL ES 渲染 NV21、NV12、I420、YV12、YUYV、UYVY、I444(建议收藏)

本文主要讲解常见的 YUV 格式图像渲染方式,如果对 YUV 格式不是很熟悉的同学可以翻看旧文一文掌握 YUV 图像的基本处理,YUV 格式的介绍这里不再展开。

渲染 NV21、NV12 格式图像

NV21、NV12 可以看成同一种结构,区别只是 uv 的交错排列顺序不同。

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

需要用到 GL_LUMINANCE 和 GL_LUMINANCE_ALPHA 格式的纹理,其中 GL_LUMINANCE 纹理用来加载 NV21/NV12 Y Plane 的数据,GL_LUMINANCE_ALPHA 纹理用来加载 UV Plane 的数据。

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

//upload Y plane data
glBindTexture(GL_TEXTURE_2D, m_yTextureId
http://www.lryc.cn/news/305705.html

相关文章:

  • 云计算的两地三中心和灾备介绍
  • Spring Bean
  • Linux的时间操作
  • 2024-02-21 作业
  • 平台组成-监控服务
  • 探索分布式强一致性奥秘:Paxos共识算法的精妙之旅
  • 使用 ES|QL 优化可观察性:简化 Kubernetes 和 OTel 的 SRE 操作和问题解决
  • Docker 第十九章 : 阿里云个人镜像仓使用
  • 二、系统知识笔记-系统架构概述
  • 【高德地图】Android高德地图绘制标记点Marker
  • 每天一个知识点 - 如何快速熟悉后端项目
  • 如何将cocos2d-x js打包部署到ios上 Mac M1系统
  • pdffactory pro 8中文破解版
  • 常用ADB命令整理已经ADB键盘输入
  • buuctf_N1BOOK_粗心的小李
  • 爬取链家二手房房价数据存入mongodb并进行分析
  • 论文阅读:Ground-Fusion: A Low-cost Ground SLAM System Robust to Corner Cases
  • 一键获取电商平台商品信息,快速提高电商业务效率
  • vue 中实现音视频播放进度条(满足常见开发需求)
  • 【广度优先搜索】【网格】【割点】1263. 推箱子
  • 论文精读--GPT1
  • C/C++的内存管理(1)
  • C 标准库 - <stdlib.h>
  • Python中回调函数的理解与应用
  • 抖音数据挖掘软件|视频内容提取
  • PostgreSQL如何使用UUID
  • 网络原理 - HTTP/HTTPS(4)
  • Vue+SpringBoot打造在线课程教学系统
  • 数据存储-文件存储
  • 【Activiti7】全新Activiti7工作流讲解