现代计算机图形学入门(2)

光栅化与着色

typora-root-url: ..\image


现代计算机图形学入门(2)

将规范立方体投射到平面上Canonical Cube to Screen

屏幕:一个像素的集合,其大小为分辨率

光栅化:绘制到屏幕上

像素:一个单独颜色的小方块

屏幕的空间:

image-20200720142440303.png

cube里的物体绘制在坐标上(与z值无关):

image-20200720150021906.png

光栅化多边形为像素

光栅的成像设备:

CRT(示波器同款原理)

LCD(液晶显示器)

LED(发光二极管)

Electronic Ink(Kindle)

光栅化:采样

image-20200720152329569.png

每格像素上,到底应不应该亮。

C++
for (int x = 0; x < xmax; ++x)
output[x] = f(x);
image-20200720152550041.png

采样像素的中心位置,判断其是否在三角形内。

C++
for (int x = 0; x < xmax; ++x)
for (int y = 0; y < ymax; ++y)
image[x][y] = inside(tri, x + 0.5, y + 0.5);

inside则用叉乘来判断内外。

image-20200720153409602.png

蓝色的为包围盒(需要取样判断):AABB

image-20200720153552009.png

另一个光栅化加速手段

实际屏幕的显影

人眼对绿色更敏感,放更多的绿色点,让人眼看起来更舒服。

反走样

锯齿(学名走样Aliasing)

Sampling Artifacts(瑕疵)

锯齿Jaggles Pattern

image-20200720161944862.png
image-20200720161946790.png

摩尔纹Moire Pattren

image-20200720162106279.png

Wagon Wheel Illusion(False Motion)——车轮效应,在时间中采样错误

处理方式

先做滤波,再做采样。

顺序的分析:

image-20200720165957561.png

傅里叶变换:将图片从时域变换到频域。(一个不太准确的例子:一个曲子演奏出来就是时域,而它的谱则是频域)

关于傅里叶变换可以看这篇文章理解。傅里叶分析之掐死教程

高通滤波High-pass filter可以得到图片的边界

image-20200721151316061.png

低通滤波Loss-pass filter

image-20200721151440858.png

滤波Filtering=卷积Convolution=平均Averaging

频域上的乘积等于时域上的卷积

image-20200721152900567.png

卷积盒越大,结果越模糊

采样=重复频率上的内容

反采样的方法

增加采样率(但并不是反走样需要做的事)

先拿掉高频(模糊)再采样

MSAA(Antialiasing By Supersampling)

通过更多的样本,计算覆盖率,本质是使其模糊,并没有提高采样率。

缺点:增加了计算量

FXAA(Fast Approximate AA)

是 直接在图像上奇效,去除锯齿

TAA(Tempoa AAl)

复用上一帧

深度处理

远近物体有一个遮蔽的问题。

画家做法Painter Algorithm

先画远处的,再画近处的。但依然存在问题:

image-20200721163852742.png

于是引入了一个算法:深度缓存。

C++
for (each triangle T)
	for (each sample (x,y,z) in T)
		if (z < zbuffer[x,y])          // closest sample so far
			framebuffer[x,y] = rgb;   // update color
			zbuffer[x,y] = z;         // update depth
		else
			;						// do nothing, this sample is occluded

着色Shading

对不同的物体应用不同的材质

一个简单的着色模型(Blinn-Phong Reflectance Model)

image-20200721181057276.png

着色是局部的(只需要考虑自己,不用考虑其他物体的存在)。

光照由能量而定,而能量:与光照方向和法线方向的夹角有关(点乘可以得到其cos);与距离发散有关;

image-20200721183102216.png

漫反射的结果和摄像机位置完全没有关系

最后编辑于
文章链接: http://pheustal.com/2020/07-21/CG2
本作品采用CC-BY-SA许可。