Per*_*abs 15 textures glteximage2d
是glTexImage2D和glTexSubImage2D像素的缓冲区传递到纹理的唯一途径?
目前我在设置函数glTexImage2D中使用null作为缓冲区,然后在渲染循环中,我在每次迭代时使用新的缓冲区数据调用glTexSubImage2D.
但是知道纹理不会改变任何属性(如尺寸),是否有更有效的方法将实际像素数据传递给渲染纹理?
Ser*_* K. 29
在现代OpenGL,有4种不同的方法来更新2D纹理:
glTexImage2D - 最慢的一个,重新创建内部数据结构.
glTexSubImage2D - 快一点,但不能改变图像的参数(大小,像素格式).
渲染到纹理FBO- 完全在GPU上更新纹理,速度非常快.有关更多详细信息,请参阅此答案:https://stackoverflow.com/a/10702468/1065190
像素缓冲区对象PBO- 用于从CPU到GPU的快速上传,在OpenGL ES上尚未支持.
| 归档时间: |
|
| 查看次数: |
24419 次 |
| 最近记录: |