该系列内容均来自冯乐乐大佬撰写的Unity入门精要
仅做交流学习,不做商业用途,特此声明,在今后的章节中将不做赘述。
1.什么是渲染流水线?
计算机将一系列的顶点数据,纹理数据转化为一张人眼可以看见的图像的过程,就叫做渲染流水线。
2.渲染流水线的过程
2.1:应用阶段主要处理哪些事情?
1.准备场景数据,摄像机,视锥体的位置,模型,光源
2.剔除culling操作,就是把不可视的物体剔除出去。
3.设置模型的渲染状态:比如材质(漫反射,高光反射),纹理,shader
4.输出渲染的几何信息,即渲染图元。渲染图元可以是点,线,三角面等。
2.2:几何阶段处理那些事情?
1.决定我们需要绘制的图元是什么?怎么绘制它,在哪里绘制它。
2.该阶段负责和每一个图元打交道,进行逐顶点,逐多边形操作
3.把顶点坐标变换到屏幕空间中。
4.输出屏幕空间的二维顶点坐标,深度值,着色信息
2.3:光栅化阶段处理那些事情?
1.将几何阶段传递过来的数据产生屏幕像素。
3.CPU和GPU之间的通信
3.1:CPU怎么将数据加载到GPU之中?
1.过程HDD(硬盘,叶城ROM)->RAM->VRAM,有CPU设置渲染状态。指导GPU进行渲染工作。
3.2:什么是渲染状态
1.这些状态定义网格怎么被渲染。比如使用什么VertexShader,FragmentShader,光源属性,材质等。
3.3:什么是Drawcall
1.当我准备网格数据,渲染状态,然后CPU通知GPU执行渲染任务,这个过程就叫做Drawcall!