在OpenGL上更新2D纹理的最有效方法

时间:2016-07-06 21:33:25

标签: c++ opengl opengl-es glsl textures

目前我正在开发一个应用程序,使用OpenGL将视频剪辑中的帧图像渲染为普通网格曲面上的2D纹理,但我不确定如何适当或有效地实现这一点,因为它对处理时间有严格的要求。更新每一帧。

初始化应用程序时,会在网格上映射并呈现默认纹理图像。视频开始播放后,应用程序将不断接收帧数据(unsigned char *指针)并在每次绘制调用中更新网格纹理。帧图像的大小(宽度和高度)可以与映射的默认纹理图像不同。此外,我们想要的是最小化绑定和解除绑定纹理的成本,以提高效率。

基于我所做的一些研究,FBO看起来是一个好主意,但在网上没有太多相关样本对我的情况非常有帮助。我非常感谢任何有关我的案例的建议和指导,如果有人在C ++和着色器中共享代码会更好。

0 个答案:

没有答案