VolumeParticle(2)

http://developer.amd.com/media/gpu_assets/ArtAndTechnologyOfWhiteout(Siggraph07).pdf

 

这个文章很全面,包含了很多东西,这里就做volume particle部分吧,效果很赞:

VolumeParticle(2)_第1张图片

 

这里主要是集中在shadow上的内容。

在lightview这个pass上记录particle的minz和maxz,两者相减得出thickness。

在camera view,因为particle是用sprite画得,所以其实是一片片的,还要做一个z值的平滑化。

这样就可以用平滑过得结果去sample lightview shadowmap了。

这个可以得出selfshadow。

 

在terrain上的shadow就更直接了。

这里因为是很平均也相对thick,颜色也是白的。

 

相比之下,还是starcraft2的translucent shadowmap更好一些。

那个里面用alpha值参与thickness的运算,颜色也有考虑,更加合适一些,最后效果也更好.

所以在计算thickness的时候考虑进去alpha觉得更合理一些,当然这就需要sample texture了,也更费了。

 

 LightScattering:Henyey-GreenStein phase function近似mie scattering

lighting结果近似这个

VolumeParticle(2)_第2张图片

 

网上简单搜了下,bungie有个SIGGRAPH09_LightingResearch.pdf的说道类似的,但是也只是给了个公式。

这个日后再说吧。。。

估计


原文链接: http://blog.csdn.net/ccanan/article/details/5109510

你可能感兴趣的:(VolumeParticle(2))