首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >渲染流体模拟?

渲染流体模拟?
EN

Computer Graphics用户
提问于 2018-12-10 07:31:16
回答 1查看 731关注 0票数 3

我读过拉格朗日和欧拉流体模拟,下面是我从他们的方法中学到的:

  1. 通过计算每个粒子的位移来模拟流体粒子
  2. 欧拉-通过计算包含流体粒子群的有限空间之间的相互作用来模拟流体粒子。

(?)每种方法是否都有适合它的不同的渲染技术?

我猜你可以用有限空间或“体素”数据来进行欧拉模拟,但我想让专家在我的假设中说。

(?)另外,对于MPM (物质点法),它是两个世界的混合,如果拉格朗日和欧拉西姆斯有不同的渲染技术,这是否意味着我可以使用这两种技术?

EN

回答 1

Computer Graphics用户

回答已采纳

发布于 2018-12-17 09:49:35

从我所知的范围来看,这里有一个更完整的答案。一种简单的概述,你可以谷歌更多的。我肯定我没有涵盖所有不同的技术,但大多数都是从上述技术中分离出来的。注意:如果它是一种液体,我们更关心的是得到一个精确的表面表示。

  • 表面提取方法:最常见的方法是使用基函数将粒子栅格化成三维图像/网格,除非它们已经在网格中。然后从图像中提取多边形曲面,利用行进立方体或其他形状的多边形曲面。然后渲染那个多边形。有一些方法可以直接从颗粒中提取多边形表面,而不需要进行栅格化。
  • 用隐式表面进行射线行进:我们再次将粒子栅格化为图像,但在三维图像中迅速转换为隐式表面,然后射线行军渲染隐式表面,非常快。
  • Splat体绘制(在屏幕空间中这样做):Splatting对于可视化非常大的数据集是很好的,并且由于它的速度非常快,所以它经常被用于体绘制。基本思想是将所有或大部分点从卷中光栅化为光盘。你可以做很多效果,照明等。Nvidia的屏幕空间流体就是这种形式(SSF)。简单,快速,质量是可以接受的许多情况。
  • 基于切片/纹理的体绘制:这里我们覆盖2d半透明图像。你可以只是覆盖一些预先计算的纹理在不同的粒子或计算一系列切片的2d图像,一个设定的距离,在三维图像/体积给定的相机角度。更贵。结果比喷溅要好。
  • 射线投射体绘制:类似于射线行进,我们从每个像素沿射线前进,但不是寻找一个隐式定义的表面,而是直接采样体积,并映射它的颜色和透明度太大,然后沿着射线复合回来。对于光照,我们可以做类似于基于表面的渲染,但使用图像的梯度作为正常。还有很多其他的窍门。
  • 射线追踪体渲染:基本上和光线投射一样,但是我们在音量的内部反射光线。它们是按相位函数分布的。我相信你最喜欢的动画片中的云彩都是这样渲染的。迪斯尼这样做是为了他们的MPM模拟“冰雪奇缘”。射线追踪方法是所有方法中最昂贵的,比基于表面的射线追踪更昂贵。在写这篇文章的时候不是实时的。

注意:前两种方法都不是针对气体的。最后三个是最好的气体,因为他们缺乏表面表示法。

我认为也值得注意的是,有一个存储的表示形式用于后处理效果。用于艺术家的手工变形或效果。程序效果,如喷雾,泡沫,气泡等,或只是一些额外的几何处理(平滑或其他)。

票数 3
EN
页面原文内容由Computer Graphics提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://computergraphics.stackexchange.com/questions/8387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档