计算机图形学GAMES101(四)光栅化(三角形的离散化)
本文最后更新于 2024年5月26日 下午
光栅化(Rasterization)
Rasterize=drawing onto the screen
光栅化=把东西画在屏幕上
屏幕空间的定义:
左下角是原点,向右是+x,向上是+y
像素的坐标从(0,0)开始,最大(width-1,height-1)
像素的中心点(x+0.5,y+0.5)
屏幕覆盖范围:(0,0)到(width,height)
接下来就是在屏幕上面显示上一节中的哪个【-1,1】^3^的立方体
1、首先我们忽略调z轴
2、然后宽度变为width,高度变为height
3、然后就是将立方体的中心移动屏幕的中心(屏幕的左下角在(0,0)位置,中心在(width/2,height/2)位置,立方体原来的中心在(0,0)位置)
为什么三角形在计算机图形学中得到广泛得应用
- 三角形是最为基础的多边形
- 任何多边形都可以被拆分成三角形
- 给定三个点可以确定一个三角形,并且可以确定一个平面
光栅化最重要的工作
判断每一个可能要显示图形的像素的中心点和图形的位置关系,究竟是该显示图形还是不显示图形。
怎么实现光栅化
通过采样的方法实现光栅化,采样就是将一个连续函数离散化。
Evaluating a function at a point is sampling.
在某一点求函数数值就是采样
采样是图形化的核心
可以使用下面的方法来判断一个像素的中心点是否在三角形里面。
即:第二节提到的向量的点乘。(全在右侧或者全在左侧=点在三角形内)
jaggies: 锯齿
aliasing:走样
计算机图形学GAMES101(四)光栅化(三角形的离散化)
http://example.com/2024/05/26/计算机图形学GAMES101(四)光栅化(三角形的离散化)/