光栅化 Rasterization


在这里插入图片描述

1 光栅化 Rasterization

  1. raster 来自 德语 ,意思是屏幕,动词化后变rasterize再名词化 Rasterization,意为光栅化.
  2. 像素Pixelpicture element,可理解为屏幕最小单位,为正方形,颜色为RGB.

1.1 视口变换 viewport (正则立方体 to 屏幕)

像素指标从(0,0)(宽-1,高-1),每个像素中心坐标是(x+0.5,y+.5)
在这里插入图片描述
MVP变换的正则立方体(先不管z轴,只看xy)[-1,1]²投到屏幕(0×宽,0×高),
在这里插入图片描述
需要一个视口变换矩阵 viewport
在这里插入图片描述
到达让正方形左下角点屏幕原点,右上角点屏幕右上角顶点的效果.
在这里插入图片描述

1.2 像素化

1.2.1 三角形构成图像

经过视口变换,图像已经在屏幕上了.
现在研究怎么用屏幕表现图像,也就是屏幕上每个像素值是多少. 我们认为图像基本单元是三角形,有了通过像素组成单个三角形,我们可以通过三角形集合得到各种图像. (PS. 早期的电视也是用CRT通过打电子到屏幕来显示画面)
在这里插入图片描述

  • 用三角形是因为
  1. 三角形是最基础多边形
  2. 三角形三点在一平面
  3. 方便判断点在三角形内外
  4. 方便重心插值

1.2.2 三角形离散化

所以换句话说,就是怎么在屏幕画三角形,即 Rasterizing Triangles into Pixels.

在这里插入图片描述

  • 采样近似,用inside函数判断像素点是否在三角形内
    在这里插入图片描述
  • 伪代码
    在这里插入图片描述
1.2.2.1 叉乘判断点是否在三角形内

在这里插入图片描述

1.2.2.2 三角形像素化使用包围盒

只遍历AABB盒子,避免计算量过大
在这里插入图片描述

1.2.3 效果

大概像个三角形,但是有锯齿 Jaggies!!!
在这里插入图片描述

  • 真实例子: 手机屏幕
    在这里插入图片描述
    总结: MVP变换后viewport变换,所以是MVPV变换,然后光栅化,但会出现锯齿!!

2 反走样 Antialiasing

采样 (sampling) 会产生 瑕疵 artifact,如

  • 锯齿 Jaggies 空间
  • 摩尔纹 Moire欠采样
  • 风扇倒转 Wagon wheel effect时间
  • 本质: 信号变化过快(高频),采样速度跟不上(低频).

2.1 提前滤波 Pre-Filter

  • 滤波---采样
    在这里插入图片描述
  • 效果
    在这里插入图片描述
    可以看见在滤波模糊处理后再采样,图像的锯齿少了很多.那么具体该怎么滤波呢?原理是什么?

2.2 滤波原理

2.2.1 频域与傅里叶变换

根据傅里叶变换,周期函数,比如方波可以分解为频率不同余弦函数,如下图

  • 空域到频域
    F ( ω ) = ∫ − ∞ ∞ f ( x ) e − 2 π i ω x d x F(\omega)=\int_{-\infty}^{\infty} f(x) e^{-2 \pi i \omega x} d x F(ω)=f(x)e2πiωxdx
  • 频域到空域
    f ( x ) = ∫ − ∞ ∞ F ( ω ) e 2 π i ω x d ω  欧拉公式 e i x = cos ⁡
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值