一.GPU渲染管线
GPU在接收到游戏端提交的Mesh,Shader数据后,渲染管线开始工作,将数据进行处理投射为2D屏幕中光栅图像.
GPU硬件中着色单元有两类,分别为顶点着色器和像素着色器.
二.顶点着色器
完成Mesh网格中顶点(3D)到屏幕(2D)计算
vertex_fvf(灵活顶点格式) = 3D坐标 + 法向 + UV + 颜色(布料,摇曳等特殊效果) + 自定义
struct Vetex_Fvf
{
float x, y, z; //3D坐标数据
float n_x, n_y, n_z; //坐标法向数据
int r, g, b, a; //顶点颜色数据 R, G, B, A四种颜色通道
float u, v //为像素着色器设计,可映射至2D纹理图片
int flag; //自定义数据
}
三.像素着色器
完成2D屏幕中顶点映射坐标转化为像素颜色的计算
material = 漫反射纹理 + 法向纹理 + 高光纹理 + 自定义参数