在基于欧拉网格的烟雾模拟中,流体与自由面的接触面是一个模糊的边界,因此无需对烟雾的边界进行对流。但在液体模拟中,流体与自由面之间是有一个明确的边界,因此我们需要显式地跟踪这个流体边界来模拟液体的物理行为,基于水平集的自由表面流(Free-Surface Flow)是目前的主流方法。

基于粒子与基于网格的流体模拟算法是计算机图形学中的流体模拟界的两大算法框架,这两种算法分别对应了物理模拟中的两个视角:拉格朗日视角和欧拉视角。与基于粒子的拉格朗日流体模拟解然不同,基于欧拉网格的流体模拟采用了完全不同的算法策略,它不再关注随着物理规律运动的流体粒子,而将目光转向空间中的一组固定的网格点。

本文主要是流体不可压缩投影,在进行半拉格朗日对流之后,还需要对流体速度进行修正,使流体的速度场散度为零。主要是关于流体压强的泊松方程求解,通常采用共轭梯度法求解大规模稀疏矩阵的线性方程组,辅以不完全的Cholesky因子化。涉及到的数学内容比较多。

偶然在知乎上看到图形学大佬的几篇关于二维渲染绘制的文章,感觉非常有趣。与普通的光线求交不同,这里的二维渲染采用了光线步进法和符号距离场。下图就是渲染出来的效果,二维虽然少了一维,但渲染开销依旧大,渲染下面的这张图开启了多线程也花费了1个半小时多的时间。

本文在前一篇PBR渲染器的基础上,进一步深入理解并实现了Image Based Lighting的全局光照。Image Based Lighting预先烘培辐照度贴图、构建BRDF积分查找表,然后在实时渲染中直接查询查找表快速计算渲染方程,实现的效果高效且真实。这种技术已经集成在虚幻4引擎中。



博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

本站使用 Material X 作为主题 , 总访问量为 次 。
载入天数...载入时分秒...