OpenGL ES:预渲染到FBO纹理

时间:2013-03-05 09:02:00

标签: opengl-es textures fbo

是否可以渲染到FBO纹理一次,然后使用生成的纹理手柄渲染所有后续帧?

例如,如果我正在渲染硬阴影贴图并且场景几何体和光线位置是静态的,则深度贴图始终相同,我想使用FBO仅渲染一次,然后在之后使用它那。但是,如果我只是设置一个标志来渲染深度纹理一次,那么纹理对于其余的帧保持为空。

渲染帧完成后,FBO会重新分配吗?保留渲染纹理以渲染后续帧的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

渲染到纹理与首先将这些像素上传到纹理没有什么不同。纹理的内容不会神奇地消失。当您更改时,纹理的内容会发生变化。这可以通过将数据上传到纹理,或者通过设置一个纹理图像用于帧缓冲操作(清除,渲染等)。

除非你做某些事情来明确地改变存储在纹理中的数据,否则它不会改变。