--- 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:角色接入反射