该系列内容,是对乐乐姐所著的《Unity Shader入门精要》中图形学理论部分知识点进行简单概括
对Unity shader没有任何解释!!
渲染流水线:应用阶段、几何阶段、光栅化阶段
应用阶段:在CPU中运行,首先准备好场景数据、其次粗粒度剔除、最后设置渲染状态
CPU和GPU通信:1.把数据加载到显存中 2.设置渲染状态 3.调用Draw Call
几何阶段:在GPU中运行,顶点坐标转换为屏幕空间,顶点的各个信息
(顶点着色器——>曲面细分着色器——>几何着色器——>裁剪——>屏幕映射)
顶点着色器:坐标转换(顶点坐标从模型空间转换为齐次裁剪空间)和逐顶点光照
裁剪:将不再摄像机视野内的物体裁剪掉
屏幕映射:把每个图元的x和y转换到屏幕坐标系中
光栅化阶段:GPU中运行,每个渲染图元中的哪些像素被绘制,对顶点信息进行插值,然后逐像素吹了
(三角形设置——>三角形遍历——>片元着色器——>逐片元操作)
三角形设置:计算三角网格表示数据的过程
三角形遍历:检查每个像素是否被一个三角网格所覆盖,被覆盖的话,就会生成一个片元,并使用三角网格的3个顶点信息对整个覆盖区域的像素进行插值。
片元着色器(DX中的像素着色器):纹理采样(为了片元着色器能进行纹理采样,会在顶点着色器中输出每个顶点对应的纹理坐标,然后经过光栅化阶段对三角网格对应的3个顶点对应的纹理坐标进行插值后,就可以得到其覆盖的片元的纹