GAMES101第十二讲Geometry 3笔记

一、网格(Mesh)

(1)网格细分(Mesh Subdivision)
网格细分
(2)网格简化(Mesh Simplification)
网格简化
(3)网格正则化(Mesh Regularization)
网格正则化
①网格正则化是将原本不规则的三角形修改成大小一致的三角形。

二、网格细分(Mesh Subdivision)

(1)Loop Subdivision
Loop Subdivision
①将一个三角形分成更多三角形。
②Loop Subdivision并不是循环细分,而是Loop提出的。
(2)Loop Subdivision的操作过程
①取三角形三条边的中点分别两两连接起来。
Loop Subdivision的操作过程1
②对于新的顶点而言,依照周围的顶点进行加权更新。
Loop Subdivision的操作过程2
③对于旧的顶点而言,依照自己的度以及周围的顶点进行加权更新。如果度较大,意味着与该点相关的三角形/顶点数量多,那么这个点就不太重要,它会更多采用周围顶点的属性进行更新,反之则更多采用自己的属性更新。
Loop Subdivision的操作过程3
(3)Loop Subdivision的结果
Loop Subdivision的结果
(4)Catmull-Clark subdivision的特点
①Loop细分只能对三角形进行细分。
②Catmull-Clark subdivision能够很好地进行处理拥有其他图形的图像。
(5)Catmull-Clark subdivision的操作流程
Catmull-Clark subdivision的操作流程1
①Catmull-Clark subdivision定义了两个概念,Non-quad face指的是非四边形的面,奇异点指的是度不为4的点。
Catmull-Clark subdivision的操作流程2
②找出每个图形的所有边的中点以及面上的中点,将它们两两连接。可以发现,进行一次该操作后,将不再有Non-quad face,并且之前每有一个Non-quad face,就会多几个奇异点。
Catmull-Clark subdivision的操作流程3
③重复②中的操作。此时奇异点不会再增加。
(6)Catmull-Clark subdivision的顶点更新
Catmull-Clark subdivision的顶点更新
①面内的点会根据周围的顶点进行更新。
②边上的点会根据边上的两个顶点以及临近两个面的中点进行更新。
③顶点会根据自身和周围边的中点以及周围面的中点进行更新。
(7)Loop subdivision和Catmull-Clark subdivision的效果
Loop subdivision和Catmull-Clark subdivision的效果

三、网格简化(Mesh Simplification)

(1)下图展示了同一图像使用不同网格表示的结果。
网格简化
①对于近处的物体,网格数越多,表达效果越好。
②对于远处的物体而言,可以适当简化来减少开销,同时还能保持不错的效果。
(2)边坍缩(Collapsing An Edge)
边坍缩
①相当于把几个顶点汇聚成一个顶点,从而简化了网格数。

(3)二次误差度量
二次误差度量
①如图所示,如果想把左下的上面三个点简化成一个点,简单的加权平均效果并不好,简化后的图形会比原图形小很多。
②二次误差度量是要找一个新的顶点,使它到原先的三角形面的距离平方之和最小。
(4)使用二次误差度量的边坍缩
使用边坍缩的注意事项
①当我们需要迭代的进行边坍缩的时候,显然我们每次都会优先选择二次误差度量最小的边进行坍缩。
②每一次坍缩之后会有一些边发生变化,那么有的边的二次度量误差会发生变化,我们可以使用优先队列来解决这一个问题。
(5)网格简化的效果
网格简化的效果

四、Shadow Mapping

(1)Shadow Mapping是使用光栅化来生成阴影的一种方法。
Shadow Mapping
①Shadow Mapping不需要知道场景的几何信息。
②Shadow Mapping需要解决走样的问题。
③Shadow Mapping的核心思想是:阴影指的是能被相机看见而不能被光源看见的区域。
(2)Shadow Mapping的例子
Shadow Mapping的过程1
Shadow Mapping的过程2
①先从光源观察场景,可以得到一张光栅化的图,同时记录图上每个点的深度。
②再从相机观察场景,并将这些点投影回光源生成的光栅化图。
③左图的橙线的点投影回光源后,发现它的深度与光源记录的深度一致,因此它可以被光源看见。
④右图的红线的点投影回光源后,发现它的深度比光源记录的深度更深,因此它不能被光源看见,那么该点处于阴影中。
(3)Shadow Mapping的例子
Shadow Mapping的例子
①可以看到阴影图有一些不连续的块,一部分原因是我们通常采用浮点数来记录深度,在运算过程中会产生一定的误差。另一部分原因是我们采用一张图来记录这些阴影信息,图的分辨率也会影响生成阴影的结果。
(4)硬阴影和软阴影
硬阴影和软阴影
①左上为硬阴影,它具有很锐利的边缘。
②左下为软阴影,它具有较模糊的边缘。
③右图为日食图,在Umbra区域生成的为硬阴影,在Penumbra区域生成的为软阴影。
④如果光源有大小,那么就会有软阴影的现象。点光源不存在软阴影现象。

参考文献

课程视频链接: GAMES101 Lecture12 Geometry 3

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值