Screen Space Fluid Rendering for Games(nv gdc2010)

http://developer.download.nvidia.com/presentations/2010/gdc/Direct3D_Effects.pdf

 

Screen Space Fluid Rendering for Games(nv gdc2010)_第1张图片

 

  • 采用particle模拟fluid,simulation部分被略过,直接提particle simulated fluid怎么来渲染的好
  • 所谓的screenspace是指渲染particle(sprite)之后在screenspace中来柔化depth,根据depth生成normal,进而可以计算lighting
  • 阴影部分就是translucensy shadow map的典型做法,星际二里一样的
  • caustics是realtime算出来的,这个比较喜欢

http://www.cs.uiowa.edu/~cwyman/publications/files/InteractiveISCaustics/I3D06.ppt

这个效果也特赞:

Screen Space Fluid Rendering for Games(nv gdc2010)_第2张图片

基本思想是shadowmap一样的,lightview来render caustics,然后cameraspace来应用。

不过过程中在dx9硬件上要麻烦一些:

lightview来渲染产生caustics的model(透明的),然后pixel shader来存储折射后photon的texcoord(也就是屏幕空间的位置)。

再来一遍,在vertexshader里sample这个texture,最终定位到对应的屏幕空间position,然后用add 的blend来得出最后的caustics map。

但是这个是离散模拟连续,所以最后的结果可能是一个个分散的点,看起来不好,直接做一些blur的效果(高斯blur)。

 

然后camera view渲染场景,shadowmap一样的空间转换去sample每个pixel上的caustics值,得出最后caustics效果。


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

你可能感兴趣的:(Screen Space Fluid Rendering for Games(nv gdc2010))