Unity游戏引擎渲染流程分为CPU和GPU两部分。
CPU:
FBX->MeshRender
FBX:模型文件 里面包含 uv,顶点,法线,切线等渲染所需信息
MeshRender:将FBX中的信息传递到GPU。分两种
- SkinMeshRender:带蒙皮的骨骼
- MeshRender,MeshFilter:不带蒙皮,主要将顶点等信息传递到GPU
GPU:渲染管线
顶点着色器->光栅化->片段着色器->Alpha测试->模板测试->深度测试->Blend->GBuffer->FrontBuffer->FrameBuffer->显示器
顶点着色器:
- 计算顶点颜色
- 将物体坐标系转换到相机坐标系
光栅化:将顶点转换成像素
片段着色器:
- 纹理采样。根据uv从纹理获得像素点
- 像素跟灯光计算
Alpha测试:挑选Alpha合格的像素显示
模板测试:挑选模板信息合格的像素显示
深度测试:挑选深度合格的像素显示
Blend:将当前要渲染的像素和已经渲染出来的像素进行混合