2013-03-05 175 views
0

是否可以渲染FBO纹理一次,然后使用生成的纹理句柄渲染所有后续帧?OpenGL ES:预渲染为FBO纹理

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

在渲染帧完成后FBO被重新分配了吗?什么才是正确的方式来保留渲染后续帧的渲染纹理?

回答

0

渲染到纹理与第一个将纹理上传到纹理中没有区别。纹理的内容不会奇迹般地消失。当您更改时,纹理的内容会发生更改。这可以通过将数据上传到纹理,或者通过设置用于帧缓冲操作(清除,渲染等)的纹理图像之一来实现。

除非您明确更改存储在纹理中的数据,否则它不会更改。