GAMES101 笔记 Lecture12 Geometry3

Mesh Operations: Geometry Processing

Mesh Subdivision (曲面细分)

增加了曲面的分辨率:
在这里插入图片描述

Mesh Simplification(曲面简化)

降低曲面分辨率,尽力保持曲面原有的几何形状。

在这里插入图片描述

Mesh Regularization(曲面正则化)

原始曲面上的三角形可能大小差异较大,这时我们可以通过曲面正则化来改善曲面的质量。

在这里插入图片描述

Subdivision(细分)

曲面细分并不仅仅是增加三角形的数量,在增加三角形的数量后,三角形的位置也会发生一些移动,使得曲面的结果更加光滑。

在这里插入图片描述

Loop Subdivision(Loop细分)
  1. 首先,将每个三角形分割成四个子三角形

    在这里插入图片描述

  2. 根据权重,调整每个顶点的位置

将新的顶点和旧的顶点区分开,采用不同的规则来改变它们的位置。

在这里插入图片描述

如何来调整顶点位置呢?

对于新的顶点:

简单来说,找到周围四个点的位置进行加权平均。

在这里插入图片描述

对于旧的顶点:

简单来说,旧的顶点在更新时不仅仅取决于周围的顶点,同时还取决于自己原来的位置。

在这里插入图片描述

Loop Subdivision Result (Loop细分的结果)

在这里插入图片描述

Catmull-Clark Subdivision(General Mesh)

Loop细分只能用于三角网格,而对于一般的网格就不适用了。

就像下图中的,有三角形、四边形等,Catmull-Clark细分就可以很好的应用。

在这里插入图片描述

  1. 每条边都取中点
  2. 每个面也取一个中间的点
  3. 连接所有点

在这里插入图片描述
经过一次细分之后:

现在有多少奇异点?

每个三角形内部的点,经过一次细分后都是奇异点,原来是奇异点的点仍然是奇异点,和原来非四边形面的数量有关系。

它们的度都是多少?

每条边的中点的度为4,非四边形面中心的点的度为3,其余点度数保持不变。

还有多少非四边形面呢?

非四边形面全部消失了,每个非四边形面都会引入一个奇异点,然后变为一个四边形面。

Catmull-Clark细分方法中顶点更新方法:

在这里插入图片描述

Mesh Simplification(曲面简化)

目的:减少网格中三角形或四边形的数量,但保持原来的形状,从而提高程序的性能。

在不同的场景下选用不同的三角形数量:

在这里插入图片描述

Collapsing An Edge(边坍缩)

在这里插入图片描述

如何来度量通过简化造成的几何误差呢?

二次度量误差:找到一个新的位置,把点放在这里使得二次误差最小。

二次误差:一个点到与它相关联的面的距离的平方和。

算法的主要思想:

  1. 枚举每一条边,计算出坍缩这条边的二次误差度量。
  2. 贪心地选出一条最小的边。

这个问题是一个动态的问题,坍缩一条边会导致其它某些边的二次度量误差发生变化,我们需要更新其它边的二次度量误差。

二次度量误差曲面简化结果:

在这里插入图片描述

Shadow Mapping

Shadow Mapping是一种图像空间的算法:

在计算阴影时,不需要知道场景中的几何信息。
会产生走样现象。

关键思想:
一个不在阴影里的点,说明可以从摄像机看到这个点,光源也可以看到这个点。

经典的Shadow Mapping只能处理点光源,这种阴影通常有很明显的边界,一个点要么在阴影里,要么不在阴影里,这种阴影我们称它为硬阴影

  1. Render from Light,从光源看向场景,记录看到的每个点的深度,得到一副深度图.
    在这里插入图片描述

  2. Render from eye,从摄像机看向场景,将看到的点投影回光源成像的深度图中,比较一下二者的深度值,如果深度值相同说明这个点是可见的;否则,说明该点是不可见的。

在这里插入图片描述

在这里插入图片描述
一个复杂场景的阴影实例:

在这里插入图片描述

Visualizing Shadow Mapping(可视化Shadow Mapping)

将深度图的点投影回原来的位置,连一条线,这样我们就会发现一个现象,什么样的点是可以被看到的呢?

光源到该点的距离等于这个点的深度值。

在这里插入图片描述

Problems With Shadow Mapping(Shadow Mapping中存在的问题)
  • 硬阴影(只能处理点光源)
  • 质量取决于Shadow Map的分辨率
  • 涉及浮点深度值的比较运算,意味着会产生误差。
硬阴影和软阴影的比较

在这里插入图片描述

参考资料

GAMES101 Lecture12

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rain Sure

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值