渲染管线速查表

图形学通用概念,不限于 Unity。

渲染管线四阶段

阶段位置可编程?核心任务
应用 (Application)CPU场景管理、视锥体裁剪、发送图元
几何 (Geometry)GPU✅ 顶点着色器顶点变换(Object→Clip)、投影、裁剪
光栅化 (Rasterization)GPU❌ 固定功能三角形→片元(找出覆盖的像素)
像素 (Pixel)GPU✅ 像素着色器计算像素最终颜色

坐标空间变换链

物体空间 → [M] → 世界空间 → [V] → 观察空间 → [P] → 裁剪空间 → [视口] → 屏幕坐标

  • M (Model): 物体→世界, unity_ObjectToWorld
  • V (View): 世界→观察, UNITY_MATRIX_V
  • P (Projection): 观察→裁剪, UNITY_MATRIX_P
  • MVP = P × V × M: 一键跳转, UnityObjectToClipPos(v.vertex)

物体属性

属性HLSL 语义说明
顶点位置: POSITION[n]物体的”骨架”点
法线: NORMAL垂直表面的方向
切线: TANGENT沿纹理 U 方向
UV 坐标: TEXCOORD[n]纹理映射坐标 [0,1]
顶点颜色: COLOR默认 (1,1,1,1)

Forward vs Deferred

ForwardDeferred
光照计算逐物体逐光源统一在 G-Buffer 后计算
Draw Call物体 × (1 + 光源数)物体 + 光源
MSAA✅ 支持❌ 不支持
多光源性能差性能好
Unity 适用Built-in, URP, HDRPBuilt-in, HDRP

常用术语

  • 图元 (Primitive): 基本的几何单元(三角形、线段、点)
  • 片元 (Fragment): 光栅化后的候选像素
  • Draw Call: 向 GPU 发送的一次绘制命令
  • 视锥体裁剪 (Frustum Culling): 丢弃摄像机外的物体
  • 插值 (Interpolation): 顶点属性在三角形面上的平滑过渡