计算机图形学(闫令琪博士课程答疑)-Geometry(三)

三角形面我们可以增加或者减少,让图像更光滑细腻或者简化

或者说为了更快更好渲染,我们有时候会将三角形变化的更像正三角形。

细分:

loop细分(创造者性loop,不是翻译成循环细分)

我们找中间,

我们还要调整他的位置

新的顶点

加权平均

旧的顶点

n表示顶点的度(连接数量)图中为6

新算法:名字太长了  

我们取中间点然后连接起来

奇异点变为了4,

度为3,
非四边形面全部消失了。

因为没有非四变形面了,也就是说不会再增加奇异点了

点更新方式

如果是正常点:

如果是边中心:

如果是老的点:

基本就是平均

看完曲面细分我们来看曲面简化:

在不同场景我们用不同模型其实是允许的,比如很远的场景,我们本就看不出细节,那么何必使用很精细的模型呢。

边坍缩:

很难,我们缩那些边呢

我们使用二次误差度量。

我们找一个点,使得他对每一个点的距离平方和最小。

我们给每一条边求坍缩值,然后我们就选坍缩值最小的,排序探索

但是我们探索边之后,有一些边会收到影响,所以不行,我们要更新,(优先队列),链表就完事了。更新添加。

思考我们用局部最优保证全局最优,显然是贪心思想,还是那句话,贪心可能不是最好的,但是肯定是不错的。

几何部分算是完成了

我们讲一下阴影:

主流: shadow mapping

会出现走样;

思想:如果点不在阴影里面。那也就是说我们光源也可以看到这个点,相机也可以看到,所以光源看不到的就是阴影。

shadow mapping只能用于点光源

逻辑:我们先从光源看,做光栅化,不着色,记录深度

第二步从眼睛出发看场景

我们一两个点为例,我们吧看到的点投影回光源,记录深度,如果深度一样也就是说这个点是可见的,(左边那个点),再看右边那个点,深度是会不一样的,也就是说点光源看不到该点(照射不到)。也就是阴影。

记录深度

实际看到的图

进行投影回点光源。

因为这个距离肯定是一个浮点数的,精度比较大小等都会很麻烦,所以我们用大小判断(如果差不多,就给加权,差距有足够大才当作有大小区别),但是指标不治本。还有我们记录的图还有分辨率问题,必须要匹配不然就会走样,往往实际情况不行。

我有一个想法,为什么我们不用贴图吧每一个视角的shadow给记录下来呢,然后把他的深度调到最低,

现在还有软阴影:

软阴影看起来很舒适:

是根据物理来的,有两块区域:

第一块区域(umbra)本影     完全看不见

第二块区域:(Penumbra)半影  可以看见一点点

(点光源是不会出现的,出现这种情况主要是因为,光源有大小)

猜你喜欢

转载自blog.csdn.net/fairen/article/details/109717023
今日推荐