【问题标题】:OpenGL/SDL2 double depth bufferingOpenGL/SDL2 双深度缓冲
【发布时间】:2016-11-03 13:36:52
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ opengl


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-17
      • 2015-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多