图形学Lec05-06 光栅化

1.Rasterization光栅化

屏幕由像素点构成,是离散的,二维的。
计算机生成图像中,最基本的二维元素是三角形,对其的离散化操作就是生成图像的重点。
如何离散化(光栅化,Rasterization)?Sampling采样!
一个像素点对应一个坐标点,对这个坐标点采样,判断它在不在三角形里面
在这里插入图片描述判断一个像素与三角形的位置关系。

采样的缺点:以点代面,有失偏颇 → Aliasing 走样,表现为锯齿

1.1采样

采样就是把一个函数给离散化的过程。(没错没有想象的那么复杂)
利用像素中心对像素进行采样:
在这里插入图片描述
在这里插入图片描述
在这里我们给出一种非常有有趣的方法来判断一个像素点是否在三角形的内部(不考虑像素点在三角形的边上):
在这里插入图片描述
我们要利用学过的向量积的知识,一般是按照逆时针的顺序,如图一般为P0,P1,P2,分别与P的地点连接,两两得出向量积,如果三个叉乘的结果相同则说明在三角形内部,否则在外部。

1.2走样

走样,什么是走样?汉语字典给的定义是:变样,失去原有的样子。这个就很好理解了,像上篇文章中,我们光栅化一个三角形,得到的结果因为锯齿导致它变样了(如下图),那么锯齿就是我们走样的一种体现。
在这里插入图片描述
反走样:
反走样的思想:在采样前先做模糊处理。
如果先采样再模糊处理,效果不好,这个 名字叫做Blurred Aliasing
在这里插入图片描述

2.光栅化

2.1频率

ps:这一块的知识就不讲了。大家应该都会 -。-

2.2傅里叶变换

任何一个函数都可以写出一系列正弦和余弦函数的线性组合以及一个常数项。
下图我们要描述的是像城墙的函数,用一个cos和sin的线性组合来表示这个函数。引入更多的线性组合,就会无限接近。
所以我们知道任何一个函数都可以分解成不同的频率。
在这里插入图片描述
傅里叶变换:把一个函数变成不同的频率的段,并且显示出来。
在这里插入图片描述
可以看到,采样相同的点,在不同的频率上采样恢复的情况不同。
一个函数本身有一定的频率,采样也有一定的频域。如果间隔很小,采样非常密,采样频率很高,就可以采用很多频率的采样点,恢复出很高频率的函数来。如果函数本身频率很高,但是采样的频率很低,那就跟不上这个变换。

所以采样和频率是非常关键的。

2.3采样

何为采样?
采样就是重复频率内容
冲激函数:只在这个位置上有值,其他位置上没有值。
原始函数a乘以一个冲激函数,就可以得到采样结果。
所以采样就是在频域上将原始信号不断重复。
在这里插入图片描述

在这里插入图片描述
时域和频域上有很大相反的关系:采样的越稀疏,对于频谱搬移越密集。搬一点太密集了就会有问题。
所谓走样就是在搬移的时候频谱发生了混合。
增加采样率是一种解决方法,但是不现实,我们选择先将高频信号去除,再采样。
实质就是低通滤波,把高频信号过滤,再采样。
如图所示:
在这里插入图片描述
反走样的方法:
也就是计算三角形的边覆盖了一个像素的比例,来决定这个像素的亮度和呈现的颜色。
在这里插入图片描述

2.4MSAA

Antialiasing By Supersampling (MSAA)

  • 近似方法
  • Monte-Carlo
  • 像素的颜色值为负责的区域内取样多次颜色值的平均。

2.5深度缓存

Painter’s Algorithm:由远及近画画,覆盖

  • 深度计算与排序:O(nlogn)
  • 可能有无法排序的情况:例如三个三角形互相重叠

Z-buffer:对每个像素多存一个深度

  • 实际coding中,(smaller z -> further, larger z -> closer)
  • 20
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值