vault backup: 2026-05-03 21:38:46

This commit is contained in:
2026-05-03 21:38:46 +08:00
parent 83502d0874
commit 0a81d4ee33
34 changed files with 2442 additions and 845 deletions

View File

@@ -1,58 +0,0 @@
---
title: PS4支持
date: 2026-05-03 00:00:00
excerpt: PS4 平台 PSSL Shader 兼容层、HDR Resolve 和平台特化着色器
tags:
- ARC
- Platform
- PS4
rating: ⭐
---
# PS4 支持
返回 [[Platform]]
## 概述
为 PS4Orbis平台提供完整的 Shader 兼容层和平台特化着色器。
## PSSL 兼容层
`Public/Platform/PS4/PS4Common.ush` 提供 HLSL → PSSLPlayStation Shader Language的映射
- 数据类型映射(`float4` → PSSL 等效)
- Sampler 设置(各向异性过滤、比较采样器)
- Wave Intrinsics 映射(`WaveActiveSum``WaveActiveBallot` 等)
- 纹理采样函数兼容
## 平台特化着色器
`Private/Platform/PS4/` 目录包含 6 个平台着色器:
| 文件 | 用途 |
|------|------|
| HDR Resolve | 高动态范围缓冲区解析 |
| RT Write Mask | Render Target 写入遮罩 |
| Wide Custom Resolve | 宽格式自定义解析 |
## DOF 修复
`PostProcessDOF.usf` 中的 PS4 特化修改:
```hlsl
#if !MOBILE_SHADING
// PS4: ReadFullResAndDepth 函数签名调整
float4 ReadFullResAndDepth(float2 UV, float Depth)
#endif
```
以及 `RED_CHANGE` 深度 Gather 优化。
## 修改文件列表
| 文件 | 修改类型 |
|------|---------|
| `Shaders/Public/Platform/PS4/PS4Common.ush` | **新增** — PSSL 兼容层 |
| `Shaders/Private/Platform/PS4/` (6 files) | **新增** — 平台着色器 |
| `Shaders/Private/PostProcessDOF.usf` | PS4 DOF 修复 |

View File

@@ -1,47 +0,0 @@
---
title: PS5支持
date: 2026-05-03 00:00:00
excerpt: PS5 Feature Level 定义和 GBuffer 格式适配
tags:
- ARC
- Platform
- PS5
rating: ⭐
---
# PS5 支持
返回 [[Platform]]
## 概述
PS5 平台的修改相对较少,主要是 Feature Level 定义和 GBuffer 格式的平台差异处理。
## Feature Level
`Public/Platform.ush` 中为 PS5 添加 SM5 Feature Level
```hlsl
#elif PS5_PROFILE
#define FEATURE_LEVEL FEATURE_LEVEL_SM5
```
## GBuffer 格式适配
Specular GBuffer 在 PS5 上保持标准格式,仅在非 PS5 平台降级为 `PF_A8`
```cpp
// SceneRenderTargets.cpp
#if !PS5_PLATFORM
SpecularGBufferFormat = PF_A8; // 降低精度节省带宽
#endif
```
参见 [[GBuffer修改]]。
## 修改文件列表
| 文件 | 修改类型 |
|------|---------|
| `Shaders/Public/Platform.ush` | Feature Level 定义 |
| `Source/Runtime/Renderer/Private/SceneRenderTargets.cpp` | GBuffer 格式判断 |

View File

@@ -1,7 +1,7 @@
---
title: Platform
date: 2026-05-03 00:00:00
excerpt: ARC 引擎平台支持修改分类索引PS4/PS5/Xbox One
excerpt: ARC 引擎平台支持修改PS4 PSSL 兼容层/HDR Resolve/RT Write Mask、PS5 Feature Level/GBuffer 适配、Xbox One HLSL 兼容层/Wave Intrinsics
tags:
- ARC
- Platform
@@ -18,8 +18,135 @@ ARC 引擎为主机平台PS4、PS5、Xbox One添加了 Shader 兼容层和
## 功能列表
| 功能 | 文档 | 说明 |
|------|------|------|
| PS4 支持 | [[PS4支持]] | PSSL 兼容层、HDR Resolve、RT Write Mask |
| PS5 支持 | [[PS5支持]] | Feature Level 定义、GBuffer 格式适配 |
| Xbox One 支持 | [[XboxOne支持]] | HLSL 兼容层、Wave Intrinsics |
| 功能 | 说明 |
|------|------|
| PS4 支持 | PSSL 兼容层、HDR Resolve、RT Write Mask |
| PS5 支持 | Feature Level 定义、GBuffer 格式适配 |
| Xbox One 支持 | HLSL 兼容层、Wave Intrinsics |
---
## PS4 支持
### 概述
为 PS4Orbis平台提供完整的 Shader 兼容层和平台特化着色器。
### PSSL 兼容层
`Public/Platform/PS4/PS4Common.ush` 提供 HLSL → PSSLPlayStation Shader Language的映射
- 数据类型映射(`float4` → PSSL 等效)
- Sampler 设置(各向异性过滤、比较采样器)
- Wave Intrinsics 映射(`WaveActiveSum``WaveActiveBallot` 等)
- 纹理采样函数兼容
### 平台特化着色器
`Private/Platform/PS4/` 目录包含 6 个平台着色器:
| 文件 | 用途 |
|------|------|
| HDR Resolve | 高动态范围缓冲区解析 |
| RT Write Mask | Render Target 写入遮罩 |
| Wide Custom Resolve | 宽格式自定义解析 |
### DOF 修复
`PostProcessDOF.usf` 中的 PS4 特化修改:
```hlsl
#if !MOBILE_SHADING
// PS4: ReadFullResAndDepth 函数签名调整
float4 ReadFullResAndDepth(float2 UV, float Depth)
#endif
```
以及 `RED_CHANGE` 深度 Gather 优化。
### 完整代码解析
```hlsl
// Public/Platform/PS4/PS4Common.ush — PSSL 兼容层示例
// HLSL → PSSL 数据类型和函数映射
// 例如 Wave Intrinsics:
// HLSL WaveActiveSum() → PSSL __v_add_co_u32() 等
// 以及 Sampler 设置、纹理采样兼容函数
```
### 代码修改情况
| 文件路径 | 行数 | 修改类型 | 修改内容 |
|---------|------|---------|---------|
| `Shaders/Public/Platform/PS4/PS4Common.ush` | 688行 | **新增文件** | PSSL 兼容层(数据类型映射/Sampler/Wave Intrinsics |
| `Shaders/Private/Platform/PS4/HdrCustomResolveShaders.ush` | 127行 | **新增文件** | HDR 自定义 Resolve 着色器 |
| `Shaders/Private/Platform/PS4/RTWriteMaskProcessing.usf` | 118行 | **新增文件** | RenderTarget 写入遮罩处理 |
| `Shaders/Private/Platform/PS4/WideCustomResolveShaders.ush` | 124行 | **新增文件** | 宽格式自定义 Resolve |
| `Shaders/Private/Platform/PS4/WideCustomResolve_Wide.ush` | 111行 | **新增文件** | Wide 变体 |
| `Shaders/Private/Platform/PS4/WideCustomResolve_Wider.ush` | 130行 | **新增文件** | Wider 变体 |
| `Shaders/Private/Platform/PS4/WideCustomResolve_Widest.ush` | 139行 | **新增文件** | Widest 变体 |
| `Shaders/Private/PostProcessDOF.usf` | L66~L76 | 修改 | `ReadFullResAndDepth` 函数签名 PS4 适配 |
| `Shaders/Private/PostProcessDOF.usf` | L114~L121 | 新增 | `RED_CHANGE` 深度 Gather 优化 |
---
## PS5 支持
### 概述
PS5 平台的修改相对较少,主要是 Feature Level 定义和 GBuffer 格式的平台差异处理。
### Feature Level
`Public/Platform.ush` 中为 PS5 添加 SM5 Feature Level
```hlsl
#elif PS5_PROFILE
#define FEATURE_LEVEL FEATURE_LEVEL_SM5
```
### GBuffer 格式适配
Specular GBuffer 在 PS5 上保持标准格式,仅在非 PS5 平台降级为 `PF_A8`
```cpp
// SceneRenderTargets.cpp
#if !PS5_PLATFORM
SpecularGBufferFormat = PF_A8; // 降低精度节省带宽
#endif
```
参见 [[GBuffer修改]]。
### 代码修改情况
| 文件路径 | 行号 | 修改类型 | 修改内容 |
|---------|------|---------|---------|
| `Shaders/Public/Platform.ush` | L211~L215 | 新增 | `PS5_PROFILE``FEATURE_LEVEL_SM5` 定义 |
| `Source/Runtime/Renderer/Private/SceneRenderTargets.cpp` | — | 修改 | PS5 平台保持标准 Specular GBuffer 格式 |
---
## Xbox One 支持
### 概述
为 Xbox One 平台提供 Shader 兼容层。
### HLSL 兼容层
`Public/Platform/XboxOne/XboxOneCommon.ush` 提供:
- Xbox One GPU 特有的 Wave Intrinsics 映射
- Sampler 和纹理采样兼容
- HLSL Shader Model 差异处理
### D3D12RHI 平台代码
`Source/Runtime/D3D12RHI/Private/XboxOne/` 目录(空占位),预留 Xbox One 平台的 D3D12 RHI 特化代码。
### 代码修改情况
| 文件路径 | 行数 | 修改类型 | 修改内容 |
|---------|------|---------|---------|
| `Shaders/Public/Platform/XboxOne/XboxOneCommon.ush` | 324行 | **新增文件** | Xbox One HLSL 兼容层 |
| `Source/Runtime/D3D12RHI/Private/XboxOne/` | — | **新增目录** | Xbox One D3D12 RHI 占位目录 |

View File

@@ -1,36 +0,0 @@
---
title: XboxOne支持
date: 2026-05-03 00:00:00
excerpt: Xbox One 平台 Shader 兼容层
tags:
- ARC
- Platform
- XboxOne
rating: ⭐
---
# Xbox One 支持
返回 [[Platform]]
## 概述
为 Xbox One 平台提供 Shader 兼容层。
## HLSL 兼容层
`Public/Platform/XboxOne/XboxOneCommon.ush` 提供:
- Xbox One GPU 特有的 Wave Intrinsics 映射
- Sampler 和纹理采样兼容
- HLSL Shader Model 差异处理
## D3D12RHI 平台代码
`Source/Runtime/D3D12RHI/Private/XboxOne/` 目录(空占位),预留 Xbox One 平台的 D3D12 RHI 特化代码。
## 修改文件列表
| 文件 | 修改类型 |
|------|---------|
| `Shaders/Public/Platform/XboxOne/XboxOneCommon.ush` | **新增** — 兼容层 |
| `Source/Runtime/D3D12RHI/Private/XboxOne/` | **新增** — 空占位目录 |