2

我要将 DirectX 代码移植到 OpenGL,并且需要选择正确的 OpenGL 版本。根据我已经在网上阅读的内容,我想要做的甚至可能都不可能。

据我了解(虽然我可能错了),我可以使用默认深度缓冲区作为 DirectX 10 [1] 中的像素着色器资源。这对于延迟照明很有用。在第一遍中,我将绘制网格并填充深度缓冲区。在后期处理期间,我可以使用深度缓冲区信息。我不必使用多个渲染目标,这样可以节省一些内存和带宽。

是在任何 OpenGL 版本中使用 FBO 和 blitting [2, 3] 实现此目的的唯一方法吗?

[1] http://bitwisegames.wordpress.com/2011/03/25/getting-direct-access-to-the-depthbuffer-in-directx10/

[2] http://www.gamedev.net/topic/578084-depth-buffer-and-deferred-rendering/

[3] http://www.opengl.org/discussion_boards/showthread.php/180782-Binding-to-a-different-depth-buffer

4

0 回答 0