OpenGL ES之深入解析PBOUBO与TBO的功能和使用

Posted ╰つ栺尖篴夢ゞ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenGL ES之深入解析PBOUBO与TBO的功能和使用相关的知识,希望对你有一定的参考价值。

一、PBO(Pixel Buffer Object)

① PBO 是什么?

  • OpenGL PBO(Pixel Buffer Object),被称为像素缓冲区对象,主要被用于异步像素传输操作。PBO 仅用于执行像素传输,不连接到纹理,且与 FBO (帧缓冲区对象)无关。
  • OpenGL PBO(像素缓冲区对象) 类似于 VBO(顶点缓冲区对象),PBO 开辟的也是 GPU 缓存,而存储的是图像数据。

  • 与 PBO 绑定相关的 Target 标签有 2 个:GL_PIXEL_UNPACK_BUFFER 和 GL_PIXEL_PACK_BUFFER ,其中将 PBO 绑定为 GL_PIXEL_UNPACK_BUFFER 时,glTexImage2D 和 glTexSubImage2D 表示从 PBO 中解包(unpack)像素数据并复制到帧缓冲区 ;将 PBO 绑定为 GL_PIXEL_PACK_BUFFER 时,glReadPixels 表示从帧缓冲区中读取像素数据并打包(pack)进 PBO。

② 为什么要用 PBO?

  • 在 OpenGL 开发中,特别是在低端平台上处理高分辨率的图像时,图像数据在内存和显存之前拷贝往往会造成性能瓶颈&#

以上是关于OpenGL ES之深入解析PBOUBO与TBO的功能和使用的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL之深入解析YUV图像的基本处理

Elasticsearch的底层模块深入解析之node

OpenGL ES之“深度测试”与“模板测试”的使用流程

OpenGL ES 系列之开篇

OpenGL ES之VBOEBO与VAO的说明和使用

Opengl ES之PBO