GAMES101学习笔记(三)三角形光栅化

一、定义视锥

        1.宽高比(Aspect ratio)

宽高比 = 宽 / 高

        2.可视角度(fov)

                当可视角度足够小,可以忽略其透视看作是正交投影

 

tan(垂直可视角度(fovY)/ 2) = 半程高(t)/ 相机距近端平面距离(|n|)

二、将立方体“画”在屏幕上

        1.定义屏幕

                屏幕就是一个像素组成的二维数组

        2.Raster

                Raster在德语中就是屏幕

                Rasterize--画在屏幕上

        3.像素(Pixel)--图像元素的缩写

                一个像素内的颜色不会有差异(暂时)。

                一个像素内的颜色都可以由RGB的强度决定。

        4.屏幕空间

                

                 屏幕上的像素索引从(0,0)开始,例如图上蓝色像素的索引为(2,1)

                 屏幕上像素的索引从(0,0)一直到(屏幕宽度 - 1,屏幕长度 - 1)结束

                 像素(x,y)的中心在(x + 0.5,y + 0.5)

                 屏幕的覆盖面积从(0,0)到(屏幕宽度,屏幕长度)

        5.将立方体“画”在屏幕上

                

                 5.1 视口变换(viewport)

M_{viewport}=\begin{bmatrix} \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{bmatrix}

        通过视口变换将立方体xoy平面先缩放到屏幕大小,再将其平移到屏幕上,而z轴方向不做改变。

                 5.2 光栅化三角形

        为什么是三角形?--最简单,最好,具有很多独特性质。。。

 

        通过采样的方法来判断像素中心点是否在三角形内,如果在三角形内返回则填充这一像素,反之不做处理。如果中心在三角形边上,则可作可不作。转换为函数即:

        同时,不需要对屏幕上的所有像素进行判断:

         对于图中三角形,只需要遍历蓝色区域内的像素即可,即“包围盒”

        除此之外,还可以通过找一个三角形中像素的最左和最右的像素来加速三角形的光栅化,如下图:

                 5.3 锯齿

        如果将采样点的像素填充出来,则会直接得到以下图形:

        显然,该图存在很多锯齿,与原图相去甚远,即发生了“走样”。如何抗锯齿是计算机图形学需要研究的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值