banner
NEWS LETTER

GAMES101-05&06-Rasterization

Scroll down

Lecture 05&06 Rasterization

光栅化:把东西放在屏幕上的过程

视口变换:

成像设备原理:

  • LCD液晶显示器:利用液晶材料的光学特性来控制光线的通过。液晶分子在电场的作用下可以改变排列方式,从而控制光线的偏转或阻挡,实现图像的显示。
  • LED发光二极管:当电流通过时,电子和空穴在半导体材料中复合,释放出能量,这些能量以光的形式辐射出来
  • 墨水屏:电子墨水技术,模仿了纸张的显示方式。电子墨水由许多微胶囊组成,每个微胶囊内含有带正负电荷的黑白颗粒

隔行扫描:在第一帧只画1、3、5等奇数线,在第二帧只画2、4、6等偶数线,利用人眼的视觉残留特性。如今还有某些视频压缩技术采用了这个思想(但是隔行扫描会造成严重的画面撕裂,特别是对高速运动的画面来说)

光栅化的基本图形:三角形

为什么是三角形?

  • 三角形是最基本的多边形,没有比三角形边更少的多边形
  • 其他多边形都可以拆分为三角形
  • 三角形必定在一个平面内
  • 容易定义三角形的里外
  • 三角形的三个点定义好后,三角形内任意一点可以通过线性的插值来计算得到(重心坐标的插值方法)

怎么判断像素点和三角形的关系(内外):利用像素中心对屏幕进行采样,把函数离散化

简单近似采样:给定一个连续的函数f(x),当x等于1时得到的f(1)就是1的采样

只要有一个定义在屏幕空间的函数就能计算出来不同的像素中心的值是多少。给定一个三角形,在像素的中心进行采样来判断中心是否落在三角形内。但是遍历所有像素开销太大,如下图中白色那一列的像素根本没有碰到三角形,所以只要遍历蓝色区域就可以了。

image-20241025143616736

知道三角形三个顶点的坐标,有了Xmin,Ymin,Xmax,Ymax就可以得到蓝色的区域。蓝色区域就叫做包围盒(轴向包围盒/BoundingBox/AABB)

image-20241025144128688

在光栅化中有一个巨大的问题:信号锯齿/走样问题

采样会产生的一系列问题Sampling Artifacts (Errors / Mistakes / Inaccuracies):

锯齿:空间采样导致的问题

image-20241025144713506

摩尔纹:空间采样导致的问题

image-20241025144838501

旋转方向:人眼在时间中的采样

image-20241025145011147

导致走样问题的原因:信号变化的速度太快,导致采样的频率跟不上

反走样的方法:先做滤波(模糊)再采样

image-20241025145234818

任何一个周期性的函数都可以变成一系列正弦/余弦的线性组合和一个常数项

傅里叶变换和傅里叶逆变换:把函数变成不同频率的段并把不同频率的段显示出来

image-20241025145644430

对五个不同频率的函数波形进行采样,通过f1(x)、f2(x)的采样点,可以大致还原出f1(x) / f2(x)的函数波形,但是从f3(x)开始,还原出的波形和原来的函数有较大出入,越往下越明显。

image-20241025150131221

走样:两个截然不同的函数,得到的采样结果完全相同。

image-20241025150216220

滤波:抹掉一些特定的频率,对应的信号如何发生变化。

傅里叶变换可以把一个函数从时域变到频域,右边的图像就是左边的照片通过傅里叶变换得到的,右边图像表示的就是有多少信息,中间部分是低频信息,越往外越高频。

高通滤波:在频域空间内完全抹掉低频信号,将结果还原成图像。可以发现高频的东西在图像上表示的就是图像的边界。

image-20241025151623399

为什么高频信息代表着边界?

当某一图像的周围突然发生发生了变化,我们就认为他是边界。比如图中人物的衣服和背景就是由黑色突然变成了灰色,相当于颜色信号突然从黑色变成了灰色,就是出现了高频的变化,即边界。

低通滤波:同理高通滤波,去除了边界,得到模糊的图像。

image-20241025151802133

去除高频和低频,只留一部分。留下不那么明显的边界信息。

image-20241025151821314

卷积:移动窗口(Filter),将窗口中三个数和覆盖信号的三个数做点乘,填到结果中。信号在任何一个地方和它周围的区域做了一个平均。

image-20241025152101467

时域的卷积 == 频域的乘积

  • 可以拿到一幅图直接用一个卷积滤波器进行卷积操作
  • 也可以先傅里叶变换这幅图,将这幅图变到频域,将卷积滤波器变到频域上,两者相乘,乘完后得到的频域的结果,将其逆傅里叶变换,变到时域上。

image-20241025152241034

将3*3的滤波器乘1/9是为了不让图像整体的颜色发生变化。如果不乘1/9,那么每个像素就会是原来这个像素周围九个像素的和,图像就会越滤波越明亮了。

采样就是在重复这个频域上的内容,图中左边时域右边频域。时域的采样在频域中就就体现为频域信号的复制

image-20241025152715937

为什么会产生走样?采样不同的间隔,会引起频谱不同间隔进行复制,所相交的部分就是走样。

image-20241025152844772

减少走样的方法:1. 提升采样率 2. 反走样

反走样方法:先对图像做模糊(把高频信息拿掉),再采样。

image-20241025153117028

把高频信息(认为方块以外是高频信息)砍掉,砍掉虚线方块以外的信号,再以原始采样频率进行采样,这样频域图像就不会发生混叠,也就没有走样了。

怎么把三角形变模糊:先用低通滤波器做卷积操作。

image-20241025153231892

MSAA(Multisample Anti-Aliasing)多重采样抗锯齿:通过更多的样本来近似三角形的覆盖率,并不是提高采样频率。

把一个像素划分为几个小点,判断这些小点是否在三角形内,再把结果平均起来,就知道三角形覆盖了这个像素的百分之多少。

image-20241025154159484

并不是简单的提高了采样的频率,只是用来做第一步模糊的过程,近似求三角形合理的覆盖率,平均之后是什么。

MSAA解决的其实是对信号的模糊操作

在工业界并不是直接将每个像素平均分了四份,而是采用了一些独特的图形,而且一些边缘的像素还会被复用。

抗锯齿方案:

  • MASS(Multisample Anti-Aliasing):多重采样抗锯齿
  • FXAA(Fast Approximate Anti-Aliasing):快速近似抗锯齿,图像的后期处理,在像素级别平滑边缘来减少锯齿效应。FXAA 的工作原理是在图像的后期处理阶段,对整个屏幕进行处理,通过算法检测图像中的边缘并近似平滑这些边缘。
  • TAA(Temporal Anti-Aliasing):帧间抗锯齿,复用上一帧的信息,用前后帧之间的图像差异来进行抗锯齿处理。取样每帧中不同位置的像素,并使用历史帧信息来混合这些样本,从而平滑边缘。
其他文章
cover
GAMES002-图形学研发基础工具
  • 24/10/28
  • 22:11
  • GAMES002课程笔记
cover
GAMES101-04-Transformation-Cont.
  • 24/10/25
  • 11:13
  • GAMES101课程笔记
目录导航 置顶
  1. 1. Lecture 05&06 Rasterization