GodRay应用: 屏幕(像素)空间高效模拟光束,高速尾迹等效果

请见Demo: http://www.artvily.com/renderCase?sample=godrayShaftLight01

效果图:

现实中,很多时候都能见到光束(光散射),现在实时渲染中已经有很多方式来模拟这种自然现象,来增强画面的表现力。这里是使用了最基本的径向后处理机制来实现这样类似的效果。

原理很简单, 一般情况下绘制场景对象的时候,如果认为这个对象是对光有遮挡就把他绘制成黑色(其实只要a分量值做标记就好了),将这些绘制到一张纹理中(RTT), 然后在对着纹理做径向采样,径向的发射中心可以自己定义任意的像素空间坐标。采样的机制就是距离发射中心越远,衰减越厉害。

具体技术请见GPU编程精粹:https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch13.html

虽说原理简单,但是要做到高效以及有效的应用实际还是需要有相当的功底。这里使用了随机数来应用重要性采样,将采样次数降到很低(20次以下), 实际应用中还可以做优化来提升性能。在应用功能方面,可以用它来表现灯光光束也可以表现阳光光束,还可以表现很多东西,这个要看需求和想象力:)。

猜你喜欢

转载自blog.csdn.net/vily_lei/article/details/86620245
今日推荐