用延迟闪电实现阴影

时间:2011-04-13 08:47:23

标签: graphics xna hlsl shadow deferred

我目前正在为我的XNA 4项目编写自定义渲染系统,主要是遵循Cansin教程。然而,他声称创造投射动态阴影的定向光是不可能的 - 这不是真的,因为许多游戏(如跟踪者)使用具有延迟着色的动态定向灯来创建逼真的太阳阴影。你知道我怎么能实现这样的系统?这对我来说至关重要,因为我的游戏中的大多数动作都会在户外进行,并且不希望使用跟随玩家的聚光灯作为解决方法。

最好的问候

3 个答案:

答案 0 :(得分:2)

查看延迟渲染的Cansins article。它包含带有Expotential Shadows的Spot和Point灯,以及带法线的SSAO。一个很棒的教程。

答案 1 :(得分:0)

阴影体积技术可以产生非常逼真的阴影,并且可以实时计算。维基百科的文章应该给你一个很好的起点:

http://en.wikipedia.org/wiki/Shadow_volume

DevMaster.net还有一篇关于该主题的非常详细的文章。

答案 2 :(得分:0)

是的,您可以将定向光影贴图与延迟渲染器一起使用。我无法想象该教程为什么可以将阴影贴图用于某些类型的灯而不是其他类型的原因。

在你想要为定向灯和聚光灯实现阴影贴图的方式之间肯定存在差异,但是一旦你想到这一部分,它就不会比其他渲染器更难以适应延迟渲染器了。 / p>

如果您对实际的阴影贴图实施感兴趣,我会将其作为单独的问题发布。