OpenGL ES之深入解析PBO、UBO与TBO的功能和使用

举报
Serendipity·y 发表于 2022/06/24 22:58:38 2022/06/24
【摘要】 一、PBO(Pixel Buffer Object) ① PBO 是什么? OpenGL PBO(Pixel Buffer Object),被称为像素缓冲区对象,主要被用于异步像素传输操作。PBO...

一、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 开发中,特别是在低端平台上处理高分辨率的图像时,图像数据在内存和显存之前拷贝往往会造成性能瓶颈&#

文章来源: blog.csdn.net,作者:╰つ栺尖篴夢ゞ,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Forever_wj/article/details/125433619

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。