下图显示了 Unity 在延迟渲染路径中的 G 缓冲区使用的渲染目标的每个像素的数据结构。
此字段包含 24 位 sRGB 格式的反照率颜色。
此字段是包含材质标志的位字段:
位 4 至 7 保留供将来使用。
此字段包含以下 24 位值:
此字段包含来自烘焙光照的烘焙遮罩值。对于实时光照,Unity 通过将烘焙遮挡值与屏幕空间环境光遮罩 (SSAO) 值结合来计算环境光遮挡值。
此字段包含以 24 位编码的世界坐标系法线。有关更多信息,请参阅在延迟渲染路径中启用准确 G 缓冲区法线。
此字段存储 SimpleLit 和 Lit 材质的平滑度值。
此渲染目标包含材质发光输出和烘焙光照。Unity 在 G 缓冲区渲染通道期间填充这一字段。在延迟着色通道期间,Unity 将光照结果存储在此渲染目标中。
默认格式为 B10G11R11_UFloatPack32。
如果以下任一情况为 true,Unity 将使用 R16G6B16A16_SFloat:
如果 Unity 无法使用 B10G11R11_UFloatPack32 或 R16G6B16A16_SFloat,则使用默认 HDR 格式。
当光照模式设置为 Subtractive 或 Shadow mask 时,Unity 会将此渲染目标添加到 G 缓冲区布局。
启用渲染层时,Unity 会将此渲染目标添加到 G 缓冲区布局中。
启用原生渲染通道 (Native Render Pass) 并且平台支持该通道时,Unity 会将此渲染目标添加到 G 缓冲区布局。Unity 会将深度作为颜色渲染到此渲染目标中。此渲染目标具有以下用途:
此渲染目标的格式为 GraphicsFormat.R32_SFloat。
Unity 保留此渲染目标的四个最高位用于材质类型。有关更多信息,请参阅 URP ShaderLab Pass 标签。
此渲染目标的格式为 D32F_S8 或 D24S8,具体取决于平台。