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