Screen Space Fluid Rendering for Games(nv gdc2010)

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

 

 

  • 采用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

这个效果也特赞:

基本思想是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效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
计算机图形学中的流体模拟是一种模拟真实世界中液体动力学行为的技术。它通过数值方法和物理方程来模拟流体的运动、变形和相互作用。 流体模拟在许多应用领域中都发挥着重要的作用。在电影和游戏产业中,流体模拟被用来创建逼真的水、火和烟雾效果。它能够增强场景的真实感,并提供令人惊叹的视觉效果。此外,流体模拟还被用于汽车和航空工业中的气动研究,以及医学领域中的血流模拟和生物物理学研究等。 流体模拟的核心是流体动力学方程,包括连续性方程、动量方程和能量方程。通过对这些方程进行数值离散化和求解,可以计算出流体的速度、压力和温度等属性。为了增强模拟的真实感,还可以考虑其他因素,如表面张力、湍流和粘性等。 通常,流体模拟可以分为基于网格的方法和基于粒子的方法。基于网格的方法将计算域划分为规则的网格单元,并在网格上进行物理参数的计算和插值。而基于粒子的方法则将流体表示为一组粒子,并使用粒子之间的相互作用来模拟流体行为。 流体模拟的挑战在于计算复杂度和计算资源的需求。流体模拟涉及大量的计算和存储,并且需要高性能的计算设备来实时生成流体效果。此外,流体模拟还需要考虑数值稳定性和精确性,以确保模拟的准确性和可靠性。 总之,流体模拟是计算机图形学中一个重要且具有挑战性的研究领域。它不仅为电影、游戏和工业等领域提供了令人惊叹的视觉效果,还推动了流体力学和计算机图形学的交叉发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值