【Notes_4】现代图形学入门——光栅化、离散化三角形、深度测试与抗锯齿

光栅化

Viewport Transform(视口变换)

将经过MVP变换后得到的单位空间模型变换到屏幕上,屏幕左边是左下角为原点。
在这里插入图片描述
所以视口变换的矩阵
M v i e w p o r t = ( w i d t h 2 0 0 w i d t h 2 0 h e i g h t 2 0 h e i g h t 2 0 0 1 0 0 0 0 1 ) M_{viewport}=\begin{pmatrix} \frac{width}{2}&0&0&\frac{width}{2}\\ 0& \frac{height}{2}&0&\frac{height}{2}\\ 0&0&1&0\\ 0&0&0&1 \end{pmatrix} Mviewport=2width00002height0000102width2height01

Rasterization:Draw to Raster Displays

主要是将已经经过视口变换的模型画在屏幕空间上。
主要过程有:
(1) 采样
(2) 判断像素中心的位置与三角形的关系

采样

因为屏幕空间本身分辨率已经给出,所以像素点的数量也已经确认了,但是对我们可以通过以下方法提高效率,将可能有用的像素点选取出来:
1.Bounding Box
在这里插入图片描述

2.Incremental Triangle Traversal
在这里插入图片描述

判断像素中心的位置与三角形的关系

主要应用的原理是利用向量的叉乘判断点是否在三角形内。
伪代码如下

for(int x =0 ;x<xmax;x++)
	for(int y = 0;y<ymax;y++)
		image[x][y]=inside(tri,x+0.5,y+0.5)

反走样与深度缓冲

Artifacts(瑕疵) in Computer Graphics

产生Artifacts的分类和原因

(1) Jaggies(Staircase Pattern)
原因:空间采样产生的锯齿
(2) Mpire
原因:图片欠采样
(3) Wagon Wheel Effect
原因:时间上采样产生

解决办法

(1) 提高采样率:不实用
(2) 反走样

反走样

反锯齿的思路是先模糊,后采样,顺序不可以调换。
走样的原因:采样频率满足奈奎斯特采样定律,即采样频率高于二倍的最高频率。

滤波

频率图:越靠近中心点,表示的频率越低
滤波器的种类大致分为四类:
(1) 低通滤波:应用的效果是模糊
(2) 高通滤波:应用效果是提取边缘信息
(3) 带通滤波:也可以绘制出图像的边缘信息

卷积定理

时域卷积、频域相乘
时域卷积,频率图向两边拓展。
在这里插入图片描述

MSAA

通过MSAA方法可以首先模糊的效果。
步骤如下:
(1) 将每个像素点再进行细分
(2) 判断一个像素点里有几个细分的点在三角形内
(3) 将像素点根据在三角星内部细分点不同程度的着色,表示已经模糊。
上述过程的流程图如下:
在这里插入图片描述
在这里插入图片描述
上述过程在频率上的过程相当于低通滤波
在这里插入图片描述

Z-Buffer深度缓冲

每个像素都有一个z值代表像素点的深度、z值越大,说明该点越远。
Z-Buffer 算法伪代码
Initalize depth buffer to ∞ \infty

for(each trangle T)
	for(each sample(x,y,z) in T)
		if(z<zbuffer[x,y])   //closeet samnple so far
			zbuffer[x,y]=z;  //update color
			framebuffer[x,y]=rgb;   //update depth
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值