现代计算机图形学Games101入门笔记(十一)
致敬两位大佬
面的细分、简化、正则化
Loop 不是循环,是这个算法的发明人家族名称是Loop.
新增点,白点是不更新前通过细分得到的点。通过加权平均4个点坐标,更新坐标就是最后细分点的坐标。
如果细分出新的点刚好在老点上。那一部分相信周围点,一部分相信老点坐标。这里n是图论里顶点度,就是关联几条边的意思。u是跟这个顶点有关系的数。如果这个连了很多三角形,那这个点就应该多相信周围点,要是练了2个三角形,那会多相信自己的坐标。
另外一种细分方法,非四边形的面,n度不为4的都是奇异点。细分加点方式每个面取中心点,每条边也取中点,并且把边上中点和面上中点连起来。
一次细分,现在奇异点的数量变成了4,但是所有的面都变成了4边面了,所有的非4边面都消失了,是不是说明之前所有点非4边面一次细分后,面变成了奇异点了。
后面继续细分,再也不会增加奇异点了,只会变得越来越光滑。
取细分点坐标,不管是新点,还是p旧点,都是取平均更新点坐标。
一种 边坍缩,这里找到一个边,一个边肯定会连2个顶点,把这两个顶点捏到一起。
那怎么知道要坍缩哪些边呢?这里用到二次误差度量,判断哪些边重要,不坍缩,哪些边不重要,那就捏到一起。这个度量原理,就是新点到所有原来顶点平面距离平方和最小,就是这个点位置。
那现在对每个边都去坍缩,都渠道最优点,比较谁更小,就能判断哪些边重要,不坍缩,哪些边不重要。这里取边坍缩,取最小的过程中,一个边坍缩了,会影响其他边的坍缩。这里用到数据结构了里优先队列或者叫堆,允许你求最小,并且允许你动态更新任何一点的值。
阴影
阴影映射,它会发生走样现象。
记录从光源看到的深度图
人眼看到的图,可以投影给光源(虚拟相机)成像平面上,换句话,人眼看到的点,要是让光源看,那它的位置是什么,光源记录了深度图上的哪个像素,比较人眼投射在光源上的深度和光源看物体的深度一致,说明没挡,不一致,那就说点在阴影中,它能被眼看到,但不能被光源看到,被挡住了。