光栅化
1.屏幕
屏幕也称显示屏,屏幕是一个典型的光栅显示设备,常用的显示屏又有标屏与宽屏,标屏宽高比为 4:3,宽屏宽高比为 16:10 或 16:9。
1.2.屏幕分类
- CRT显示屏幕(阴极射线管显示器)
- LCD/OLED液晶屏幕
- LED屏幕
- Electrophoretic(电子墨水屏)如kindle
1.3.屏幕分辨率
屏幕分辨率是指纵横向上的像素点数,单位是px,屏幕分辨率确定计算机屏幕上显示多少信息的设置,以水平和垂直像素来衡量。就相同大小的屏幕而言,当屏幕分辨率低时(例如 640 x 480),在屏幕上显示的像素少,单个像素尺寸比较大。屏幕分辨率高时(例如 1600 x 1200),在屏幕上显示的像素多,单个像素尺寸比较小。
2.像素(Pixel,缩写px)
像素是指由图像的小方格组成的,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。
从像素的思想派生出几个其它类型的概念,如体素(voxel)、纹素(texel)和曲面元素(surfel),它们被用于其它计算机图形学和图像处理应用。
3.屏幕空间
用像素数组定义一个屏幕空间,如图:
这里需要注意:
- 像素的坐标(数组中的索引)(x,y)总是一个整数
- 像素的坐标从(0,0)到(width - 1, height - 1)。width和height为屏幕的宽高,如1920X1080
- 像素(x,y)的坐标的中心为(x+0.5 , y+0.5),如上图绿色的像素,坐标为(2,1),中心坐标为(2.5,1.5)
- 屏幕的范围为(0,0)到 (width,height)
3.1 规范立方体转化到屏幕空间
转化过程中注意:
与Z无关(z的值其实是物体在世界空间中的深度值,目前只考虑有一个物体,所以不考虑深度信息)
对xoy平面进行转换,[-1,1]^2转换到 [0,width] × [0,height]
对xoy平面转换的矩阵为:
M viewport = ( w i d t h 2 0 0 w i d t h 2 0 h e i g h t 2 0 h e i g h t 2 0 0 1 0 0 0 0 1 ) M_{\text {viewport }}=\left(\begin{array}{cccc}\frac{w i d t h}{2} & 0 & 0 & \frac{w i d t h}{2} \\ 0 & \frac{h e i g h t}{2} & 0 & \frac{h e i g h t}{2} \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1\end{array}\right)