1.6 KiB
1.6 KiB
title, date, excerpt, tags, rating
| title | date | excerpt | tags | rating | |||
|---|---|---|---|---|---|---|---|
| GBuffer修改 | 2026-05-03 00:00:00 | GBufferD 清除色、Specular 格式和法线 GBuffer 格式调整 |
|
⭐ |
GBuffer 修改
返回 Rendering
概述
ARC 引擎对 GBuffer 进行了多处细节修改,主要围绕 CustomData 通道(GBufferD)的清除色、Specular GBuffer 格式和法线格式。
修改内容
1. GBufferD 清除色
将 GBufferD 的清除色从默认值改为 (0, 0, 0, 0):
// SceneRenderTargets.cpp
// GBufferD 清除为黑色,确保 OutlineID 和 PointLight 数据的默认值为 0
ClearColor = FLinearColor(0, 0, 0, 0);
这确保未被写入 RED自定义数据通道 的像素不会产生错误的轮廓线 ID 或辉光遮罩。
2. Specular GBuffer 格式
在非 PS5 平台上,Specular GBuffer 格式改为 PF_A8:
// 非 PS5 平台使用 8 位精度
SpecularGBufferFormat = PF_A8;
降低 Specular 精度以节省带宽,对卡通渲染影响极小(Specular 在 Toon 着色中通常使用阶梯化而非平滑过渡)。
3. PostProcessDownsample Alpha
在 PostProcessDownsample.usf 中强制 Alpha 为 1.0:
OutColor.a = 1.f;
防止降采样过程中 Alpha 通道携带的 CustomData 信息影响后续后处理。
关联文档
- RED自定义数据通道 — GBufferD 的数据写入方
- 自定义后处理 — 读取 GBufferD 数据
修改文件列表
| 文件 | 修改类型 |
|---|---|
Source/Runtime/Renderer/Private/SceneRenderTargets.cpp |
GBufferD 清除色、Specular 格式 |
Shaders/Private/PostProcessDownsample.usf |
Alpha 强制为 1.0 |