OpenGL / SDL2双深度缓冲

时间:2016-11-03 13:36:53

标签: c++ opengl

大局:我正在使用splatting方法(使用C ++,OpenGL和SDL2)为体积模型编写渲染器。我有一个多分辨率数据结构(八叉树)。在相机移动时,渲染是以实时运行的分辨率完成的。一旦相机静止不动,就会以更高的分辨率进行渲染(=迭代细化)。

问题:由于在细化过程中渲染可能持续多秒,因此我需要在用户决定更改摄像头位置时取消它。关于颜色缓冲区不是问题,我使用双缓冲并且根本不切换它。但是我必须在渲染之前清除深度缓冲区,因此当我取消渲染运行时,深度缓冲区中的信息将丢失。问题是,我需要渲染器另一部分的深度信息。

我的问题:这种情况下最好的策略是什么?备份深度缓冲区?或者有没有办法使用OpenGL和SDL2开箱即用深度双缓冲?

1 个答案:

答案 0 :(得分:0)

您可以将深度信息渲染到帧缓冲区以备份它

http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-14-render-to-texture/

这样你就可以自己实现双深度缓冲器了