GAMES101-lecture05

Rasterization 1 (triangles)

Finishing up Viewing

Viewport tranformation

定义视锥

长宽比、fovY(视角范围)

image-20240118122839134

image-20240118123229685

After MVP?——》将单位立方体映射到屏幕空间

定义屏幕

rasterize(光栅化):画到屏幕上

像素:正方形的色块,颜色由rgb表示

屏幕空间:定义左下角为屏幕的原点,向上为y,向右是x

像素表示:从(0,0)到(width-1,heigh-1),整数表示

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

将正方形拉到屏幕大小[-1,1] to [0,width]*[0,height]

先将正方形缩放到屏幕大小,再将中心移动到(width/2,heigh/2)

视口变换矩阵:

image-20240118124932837

Rasterization

Different raster displays

示波器

CRT显示器(隔行扫描)

现代显示器——帧缓存

LCD显示器、LED显示器、

Rasterizing a triangle(光栅化三角形)

基础形状——三角形

最基本的形状

其他多边形可以分解为三角形

给定的三个点,一定能确定一个平面

清晰的定义内外(向量的叉积)

给定三个顶点,在内部可以插值

三角形——>像素的颜色?

采样(将函数离散化的过程)

判断像素的中心是否在三角形内部

image-20240118135505138

inside函数

三个叉乘,当全部为正或者全部为负时,说明在三角形内

(z>0左侧,z<0右侧,z=0线上,屏幕外为正)

如果在边界上:不处理或者特殊处理

加速策略:限制采样像素范围(三角形的包围和)

image-20240118141059076

Rasterization on real displays

作者

luocan

发布于

2024-01-25

更新于

2024-01-26

许可协议

You need to set install_url to use ShareThis. Please set it in _config.yml.

评论

You forgot to set the shortname for Disqus. Please set it in _config.yml.