docker run -p 10000-20000 :22 —name 名字 —gpus all -d 镜像名字

光栅化的定义 :raster在德语中是屏幕的意思,因此光栅化就是把通过MVP变换得到的[-1,1]立方体内的3d物体显示在屏幕上的过程。

光栅化要解决的问题

MVP变换后得到3d模型映射到了[-1,1]的立方体内,如何把他再映射到width*height的屏幕上呢?

视口变换

先把[-1,1]立方体的xy轴方向上缩放到和屏幕的尺寸一样的w*h,

再把立方体中心坐标移动到$(w/2,h/2)$.先不考虑z轴的变换。

变换矩阵如下:

image.png

采样

视图变换后,虽然尺寸一致了,但是还是3d的,如何投影到2d屏幕上呢。

<aside> 💡

前置知识:

2d屏幕的最小单位是像素,也就是说所谓的屏幕也就是由若干个像素点构成的。

3d物体的表面也是由若干个微元组成的,我们采用三角形作为构成3d物体的最小微元。

由很多个三角形构成的3d表面称之为Mesh(网眼织物)

我们要做的,就是把三维物体的每一个三角形都投影到屏幕上,这个过程就称之为光栅化

</aside>