GAMES101 Rasterization 光栅化
光栅化 Rasterization
Triangles
三角形的特质:
- 可分解其他多边形
- 保证平面性
- 明确界定的内部区域
- 好的数值插值方法
Sampling 采样:简单的光栅化方法
实际上是将函数离散化的过程。
判断:如果像素中心在三角形内,则采样。
1.利用叉积:全正or全负,说明在三角形内部。
P1QxP1P2,P2QxP2P0,P0QxP0P1(按逆/顺时针顺序,否则会出错)

2.使用Bounding Box 包围盒——排除bounding box之外的点
此处使用的是axis-aligned bounding box,轴向包围盒(简称AABB)

3.Incremental Triangle Traversal
对每一行生成AABB,然后判断box内像素是否在三角形内部。
(更适用于钝角大倾斜细长的三角形,会更快)

Anti-aliasing 抗锯齿
pre-filtering 先模糊再采样
预备知识:傅里叶级数展开
可以用一系列sin函数和cos函数,表示信号
概念:高通滤波
过滤低频率波,只留下高频率波:得到结果为边缘

基本知识:时域卷积==频率乘积

原理:
将高频信号丢掉后,不会发生频谱混叠,只是损失了部分细节变得模糊,不改变图片。

实际操作:
1.用1-pixel box-blur对图片卷积,完成模糊
可以将卷积操作看成平均操作,即对每个像素计算其在三角形中的面积
2.再进行采样
Supersmapling (MSAA)——改善对图片模糊操作
- 在像素中进一步细分成nxn in pixel
- 再对nxn的取样进行求平均,得到覆盖率
- 进行采样

代价:计算量变大
其他方法:FXAA、TAA
总结

- Title: GAMES101 Rasterization 光栅化
- Author: Rongying Liu
- Created at : 2025-03-02 12:57:51
- Updated at : 2025-03-05 20:00:26
- Link: https://github.com/Roinnnn11/Roinnnn11.github.io/2025/03/02/计算机图形学/光栅化 Rasterization/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments