光栅化理论基础
Triangle
- 视锥——field-of-view(fovY)
如上图width上下中点所连线的的夹角,红色虚线部分的夹角
根据上述理论,对于点的视锥是可只晓得,故只要了解到观测点距离屏幕的远近就可以设计出屏幕的高度height,如下图所示
- 屏幕——screen
二维数组每个元素代表一个像素,坐标化(左下角(0,0))
每个像素的表示为$(x,y),x \in N,y\in N$,但是对于一个像素的中心点要了解是在$(x + 0.5,y+0.5)$处
- 将转换的2D影像位置映射到屏幕上
转换在坐标系中从$[-1,1]^3 \to [0,width]\times[0,height]$,即这也称为视口变换,如下图
Raster Displays
- 示波器(物理实验)主要的内容GAME101中
- 手机屏幕
- 电脑屏幕(LCD、VA)
- 电子墨屏幕
本部分我也不太清楚,读者可以自行百度
Triangle Meshes
三角形是可以利用网络链接来表示任何形状
判断像素中心点与三角形点的关系
- 采样函数(Sampling a Function)
1 | inside(tri,x,y) |
- 采样的过程
1 | for(int x = 0;x < xmax; ++x) |
- 实现
inside(tri,x,y)
:向量的叉乘
对于一个三角型,有一个三角形包围盒,求解的方法也比较简单,取三角形,上下左右的最外部的坐标分别取对应的平行轴就可以求出包围盒
Aliasing
Sample Artifacts(走样)
- 锯齿 : 像素本身具有大小,并且颜色在像素中均匀分布
- 摩尔纹
- Wagon Wheel Illusion (False Motion)
……
走样的本质就是,信号的变化太快,导致(采样函数)跟不上,导致走样
Antialiased Sampling
★在取样前我们先将采样信号进行滤波在进行采样
面转频
注意:数学基础视频的23分钟到27分钟
高频信息:对于高频信息,多数是代表的是边界(颜色极具变换)的部分
低频信息:图形内部比较稳定的部分
- 中频某段的信息
Convolution(卷积操作)
实域的卷积 = 频域的乘积
实域的乘积 = 频域的卷积
Sampling
采样 = 重复频率的内容
走样 = 频率混叠
反走样采样的解释
模糊的方法:低通滤波卷积
MSAA
一个模糊化的三角形覆盖采样
内容:将一个像素考虑四个点,在包围盒中的像素观察每个像素这四个点对比采样信息函数的实用性赋予对应的像素的颜色权重
其他抗锯齿的方法:
- FXAA(Fast Approximate AA)
- TAA(Temporal AA) ★
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Mirclea's blog!