GAMES101 Rasterization 光栅化

Rongying Liu 课程

光栅化 Rasterization

Triangles

三角形的特质:

  • 可分解其他多边形
  • 保证平面性
  • 明确界定的内部区域
  • 好的数值插值方法

Sampling 采样:简单的光栅化方法

实际上是将函数离散化的过程。

判断:如果像素中心在三角形内,则采样。

1.利用叉积:全正or全负,说明在三角形内部。

P1QxP1P2,P2QxP2P0,P0QxP0P1(按逆/顺时针顺序,否则会出错)

image-20250302155823165

2.使用Bounding Box 包围盒——排除bounding box之外的点

此处使用的是axis-aligned bounding box,轴向包围盒(简称AABB)

image-20250302155823165

3.Incremental Triangle Traversal

对每一行生成AABB,然后判断box内像素是否在三角形内部。

(更适用于钝角大倾斜细长的三角形,会更快)

image-20250302155823165

Anti-aliasing 抗锯齿

pre-filtering 先模糊再采样

预备知识:傅里叶级数展开

可以用一系列sin函数和cos函数,表示信号

概念:高通滤波

过滤低频率波,只留下高频率波:得到结果为边缘

image-20250302155823165

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

image-20250302155823165

原理:

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

image-20250302155823165

实际操作:

1.用1-pixel box-blur对图片卷积,完成模糊

可以将卷积操作看成平均操作,即对每个像素计算其在三角形中的面积

2.再进行采样

Supersmapling (MSAA)——改善对图片模糊操作

  1. 在像素中进一步细分成nxn in pixel
  2. 再对nxn的取样进行求平均,得到覆盖率
  3. 进行采样

image-20250302155823165

代价:计算量变大

其他方法:FXAA、TAA

总结

image-20250302155823165

  • 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