Files
BlueRoseNote/02-Note/演讲与教程笔记/虚幻开放日2025/《鸣潮》中的光线追踪:用光线构建动漫风格开放世界.md
2025-09-06 19:50:39 +08:00

72 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 《鸣潮》中的光线追踪:用光线构建动漫风格开放世界
date: 2025-08-22 16:35:32
excerpt:
tags:
rating: ⭐
status: inprogress
destination:
share: false
obsidianUIMode: source
---
# Rtx
实现功能
1. Rtx反射
2. RtxGI
3. RtxShadow
# 选型&快速验证
需求
32km 32km
二次元
TOD
4060 2k 60fps
方案:
1. ReSTIR
2. Lumen简略版砍掉一些不需要的过程
1. GI
2. Reflection
3. 重新开发Clipmap Irradiance Cache来代替Surface Cache
## ReSTIR
1. 时间、空间重采样
2. 计算光照
3. 使用SHaRC、NRD降噪库。
**SHaRC(Spatially Hashed Radiance Cache)**
1. 解决Multi-Bounce Problem
2. 基于世界空间稀疏哈希的Radiance Cache
3. 默认只有2次反射
**NRD(Nvidia Real-time Denoising)**
1. 基于Spatio-Temporal的降噪器开箱即用。
2. 用于最终降噪输出。
3. 性能消耗较高4080 2k 2.3~3.0ms
### 缺点:
1. 实现起来简单,光照效果好,但带宽性能压力大。
2. 远处、边缘有噪点。
# 功能实现与迭代经验
## ToonShading
案例1角色自阴影
- 光栅化
- 场景CSM
- 角色PerObjectShadow
- Rtx
- 用剔除角色的InstanceMask做ToonShadowRay
```c++
if(IsToonShadingModel(ShadingModelID))
{
RayTracingMask |=RAY_TRACING_MASK_SHADOW_NOT_TOON;
}
```
案例2角色接入GI
案例3角色接入反射