延迟管线中的体素锥跟踪?

问题描述 投票:0回答:1

我正在一个项目中,我必须为C ++ / OpenGL中的间接光实现体素圆锥跟踪。我已经有了一个延迟的渲染器设置,但是我可以找到的大多数VCT示例通常一次绘制场景进行体素化,一次绘制圆锥体跟踪着色器。是否可以在全屏四边形上运行圆锥跟踪着色器并从GBuffer采样顶点数据,或者这通常是一个愚蠢的主意?我是否仅由于每个像素的顶点数据而失去准确性?

opengl graphics 3d glsl
1个回答
0
投票

是否有可能在全屏四边形上运行圆锥跟踪着色器并从GBuffer采样顶点数据,或者这通常是一个愚蠢的主意?

是的,但是,这不再是体素圆锥跟踪。那是Screen-Space Global Illumination (SSGI)。您可以将VCT中的体素化场景视为3D GBuffer,这将使“屏幕空间”和“全场景”之间的所有区别。

是否会丢失精度,因为我只有每个像素的顶点数据?

绝对。所有屏幕空间的近似值都受同一组伪像的影响。它们不考虑在屏幕上不直接可见的表面(不合框架或被可见几何图形遮挡的表面)。最值得注意的是,当摄像机移动并且对象进入或退出框架时,可见表面上的反射也会不切实际地改变。

© www.soinside.com 2019 - 2024. All rights reserved.