1 背景
渲染管线是对现实与虚拟的一个连接通道。
即如何将现实的模型,以图像的形式在屏幕中进行渲染。
中间经历的过程即渲染管线/渲染流水线,(这一个管线的设计就是现代的GPU在完成的工作)。
2 理解
开始: Application: Input-vertices in 3D space 物体在空间中的表示为一堆点和它的连接关系
1 Vertex Processing: Vertex Stream - Vertices positioned in screen space
顶点处理,经过一系列的变换,最终变换成屏幕上的点
2 Triangle Processing: Tringle Stream - Triangles postioned in screen space
三角网处理:它们之前的连接关系并没有改变,变换后的点仍然会表示三角形,只不过这些三角形投影到屏幕中去了。
3 Rasterization: Fragment Stream - Fragments (one per covered sample)
光栅化,把原本一个连续表示的三角形,三个点连起来,把它给离散化成屏幕空间上的一堆像素,当然不一定是像素,如果用了一些msaa或者其它一些抗锯齿什么的,这些一个一个的基本的微元(片段,对应directX中就称之为像素),我们有一系列的三角形需要把它打散成像素,那么打散成像素,其过程中涉及一些遮挡的处理。
4 Fragment Processing: Shaded Fragments - Shaded fragments
对任何的Fragment做着色,就是去计算它应该长什么样子,比如说Blinn-Phong着色模型
5 FrameBuffer Operations
帧缓存操作
结束: Display: Output - image (pixels)