2

我试图在 XNA 4.0 中完成一个简单的任务(或者我认为)。我有需要发光的物体(渲染和高斯模糊它们,然后将它们添加到主场景中)。这些物体可以在不同的深度,所以我需要确保它们被主场景中它们前面的物体遮挡。是 3D 的。

因为深度缓冲区不能在 XNA 4.0 中重复使用,我很难弄清楚如何实现这一点?

我找不到此过程的示例、教程或解释。XNA 的bloom 后期处理示例也不能完全满足我的需要,因为它后期处理了整个场景。

我知道我可以通过使用 PreserveContents 来保留 RenderTarget 信息,但听起来很慢。有没有办法在不使用 PreserveContents 的情况下实现这一目标?

任何帮助,将不胜感激。谢谢你,瑞安。

4

1 回答 1

1

我会尝试使用第二个渲染目标来渲染发光对象以存储其深度……这是一种多目标渲染技术……

我想您将需要另一个用于非发光对象..(或使用相同的,通过添加混合存储两个深度)在后期处理时比较它们...

在后期处理的后期,可以知道发光物体是可见的还是隐藏的。

于 2012-04-30T17:18:48.377 回答