GAMES101-现代计算机图形学入门-闫令琪——Lecture 12 Geometry 3
Mesh Operations: Geometry Processing
- Mesh subdivision 增加
- Mesh simplification 减少
- Mesh regularization 正则化
Mesh subdivision (upsampling)
两步操作:
- 引入更多的三角形
- 让这些三角形的位置发生变化,让形状更光滑
Loop细分
- 让三角形变成四个
- 然后区分老顶点和新顶点
- 分别对老顶点和新顶点调整位置
- 对新的顶点:
- 对旧的顶点:
- n: 定点连接的旁边的边的个数(度)
- n越多,自己决定的权重越小
前提是由三角形组成,如果不由三角形组成,就用下面这个。
Catmull-Clark Subdivison(General Mesh)
- quad face四边形面
- Non-quad face非四边形面
- Extraordinary vertex奇异点:度不为4
- 取各边中点和面的中心并连接
每个非四边形面会引入一个奇异点,并且非四边形面会消失。以后奇异点数不会再增加。
Mesh simplification (downsampling)
How to compute?怎么计算
Edge Collapsing 边坍缩
把一个边的两个点捏在一起
- 哪些边重要
- 捏到哪个位置
- 引入二次误差度量
- 求引入这个点到其相关联面的距离的平方和,让其最小。
- 找二次误差最小的点进行坍缩
- 坍缩了一条边以后其他边的二次度量误差也会改变
- 希望有个算法结构,可以取二次度量误差最小的值,然后可以动态的更新其他边的值。(优先队列、堆)
Shadow Mapping
- 从光源看向场景记录看到的任何点的深度
- 从真正的眼睛出发,再次看向场景,把看到的点投影回光源,找到其记录在光源的哪个像素上,比较两者深度,如果一致说明可以被光源看到,如果深度不同,说明光源看不到,这个点在阴影中。
- 例子
- 为什么结果这么脏?
因为shadow Mapping存在一些问题,判断是否相等比较困难,涉及到浮点数和微小差异。
Problems with shadow maps
- Hard shadows vs. soft shadows
点光源和大光源