Shader原理部分
渲染绘图管线流程:
1.顶点处理(坐标系的转换)
一个模型有自身的方向(前方,上方,右方等)和中心点,既本地坐标系;
将这个模型放到场景当中,通过场景中的世界坐标原点和世界坐标的方向,计算出当前模型的世界坐标,从本地坐标系转换到世界坐标系;
一个模型在不同的角度观察,观察的效果是不一样的,在Unity中,摄像机是观察者,摄像机也有自己的方位,相对于每个模型来讲,就有了一个摄像机的观察坐标系;
有了观察坐标系以后,模型和摄像机都有自己的位置,最终渲染的时候,将模型投影到摄像机的画面上,转成了投影坐标系;
摄像机有两种渲染模式:正交和透视,正交没有近大远小的概念,透视有;
2.面处理
将所有的顶点连到一起,形成了面;
面剔除就是剔除摄像机看不到的面的那一部分,面截取是摄像机看到的那一部分被截取下来,在面剔除中,会产生一点能耗;
3.光栅化
表示的是将一个面转换成一个一个像素;
4.像素处理
给每一个像素去着色的过程,纹理坐标指的是当前像素所对应的贴图的坐标
总之,关于3D模型输出为屏幕上的2D图片的过程分为四步:顶点处理(四个坐标系的转换)、面处理(面的截取和剔除)、光栅化(一个一个的像素排列成面)、像素处理(为每个像素着色);这样就形成了在屏幕上所看到的画面