vault backup: 2025-02-08 13:12:05

This commit is contained in:
BlueRose 2025-02-08 13:12:05 +08:00
parent 714b122948
commit b465ab62f5
2 changed files with 42 additions and 40 deletions

View File

@ -100,7 +100,9 @@ rating: ⭐⭐⭐
9. [ ] TODONanite模型支持。 9. [ ] TODONanite模型支持。
10. [ ] TODO另一种思路定点内扩+Stencil的方式渲染内描边 10. [ ] TODO另一种思路定点内扩+Stencil的方式渲染内描边
4. [ ] TODORayTacing描边方法。 4. [ ] TODORayTacing描边方法。
7. [ ] ToonPostProcess 7. [ ] ToonLighting
1. [ ] Cel
8. [ ] ToonPostProcess
1. [x] ToonBloom 1. [x] ToonBloom
2. [ ] ToonDiffusion对场景亮部进行降采样之后将亮度信息叠加到Toon物体的暗部上。 2. [ ] ToonDiffusion对场景亮部进行降采样之后将亮度信息叠加到Toon物体的暗部上。
3. [ ] 晕染效果Background透过光功能。[[幻塔-Background透过光.png]] 3. [ ] 晕染效果Background透过光功能。[[幻塔-Background透过光.png]]
@ -109,23 +111,23 @@ rating: ⭐⭐⭐
1. [ ] CCA Tonemapping 1. [ ] CCA Tonemapping
2. [ ] GT Tonemapping https://github.com/yaoling1997/GT-ToneMapping 2. [ ] GT Tonemapping https://github.com/yaoling1997/GT-ToneMapping
3. [ ] AGX Tonemapping https://github.com/EaryChow/AgX 3. [ ] AGX Tonemapping https://github.com/EaryChow/AgX
8. [ ] ToonRimLighting 9. [ ] ToonRimLighting
1. [ ] 后处理边缘光 1. [ ] 后处理边缘光
2. [ ] Matcap 2. [ ] Matcap
3. [ ] ASoul边缘光 3. [ ] ASoul边缘光
9. [ ] Reflection控制 10. [ ] Reflection控制
10. [ ] Toon GILumen) 11. [ ] Toon GILumen)
1. [ ] 向下采样 1. [ ] 向下采样
2. [ ] 平滑法线采样 2. [ ] 平滑法线采样
11. [ ] 阴影控制 12. [ ] 阴影控制
1. [x] 控制深度偏移 1. [x] 控制深度偏移
1. [x] 在材质中使用ShadowPassSwitch再对ViewSpace的Z轴方向使用DirectionalLightVector比较可以只对方向光进行偏移进行WPO偏移实现。 1. [x] 在材质中使用ShadowPassSwitch再对ViewSpace的Z轴方向使用DirectionalLightVector比较可以只对方向光进行偏移进行WPO偏移实现。
2. [ ] ContactShadow接触阴影实现衣服细节的DetailShadow 2. [ ] ContactShadow接触阴影实现衣服细节的DetailShadow
3. [x] 半程阴影DirectionOffsetToViewShadow 3. [x] 半程阴影DirectionOffsetToViewShadow半分阴影[[幻塔-半程自阴影.png]]
12. [ ] ToonTranslucent 13. [ ] ToonTranslucent
1. [ ] 通过模仿SingleLayerWater实现折射效果 https://zhuanlan.zhihu.com/p/657928532 1. [ ] 通过模仿SingleLayerWater实现折射效果 https://zhuanlan.zhihu.com/p/657928532
2. [ ] 眉眼细节 [[幻塔-眉眼细节.png]] 2. [ ] 眉眼细节 [[幻塔-眉眼细节.png]]
13. [ ] 实现前向混合管线思路有21. Material直接计算光照结果。2. 自定义ToonBasePass到LightingPass后复制阴影贴图与Lumen渲染结果进行Composition。 14. [ ] 实现前向混合管线思路有21. Material直接计算光照结果。2. 自定义ToonBasePass到LightingPass后复制阴影贴图与Lumen渲染结果进行Composition。
1. 原神早期的方案: 1. 原神早期的方案:
1. 渲染地形(远景 1. 渲染地形(远景
2. 2.
@ -136,39 +138,37 @@ rating: ⭐⭐⭐
6. 渲染深度与法线Buffer。 6. 渲染深度与法线Buffer。
7. 渲染级联阴影。 7. 渲染级联阴影。
8. 合成阴影与环境光照AO、环境探针 8. 合成阴影与环境光照AO、环境探针
14. [ ] 云彩生成器 15. [ ] 云彩生成器
1. [ ] https://www.bilibili.com/video/BV1L5kdYFEXc/?spm_id_from=333.1007.tianma.4-1-11.click&vd_source=d47c0bb42f9c72fd7d74562185cee290 1. [ ] https://www.bilibili.com/video/BV1L5kdYFEXc/?spm_id_from=333.1007.tianma.4-1-11.click&vd_source=d47c0bb42f9c72fd7d74562185cee290
2. [ ] 风格化水面资产 https://item.taobao.com/item.htm?id=865360489543&pisk=gLHsX7NMiNb1gB7njFKURXly5Dwb5q9y1iZxqmBNDReTkigKDtQA6-FLJorOMSU2sqNju2VxQRoZRGDIPtWwSCmAh-yvzUJyUcman-Lyk8kOUGq4mNUAurCKv-rjPdNAXcmgnrIFkQlKjZg5RK5YDrKQpor7k-EYW9KQcuaYHPFAJ6E8JrexkSIdJuZ5MZCTHkKQju5OBoeYvMEaVtBtk-KIvyqxnDXQDCZ-fHz1qUDkpeKgJtBxdlNpTcUKrr-4i5TjbyXvy1Zg1coTRtBxKXkPllz9ZMz0QPDbfqvlIRFjTAVoQeBsl20KBSDp8B00QuV-MD-lTPDIQvFsCU1uCX3nd5DOWhqtsqDbQx71hDMb57HTOKx0CDEYdbneq6zidAkL1AT5ZPMiDjPItNTUuboEBWgJ89g0GXkgZA8dC4IyzTz7sJ5fA7XbAz-BAsf0xzPwqJ_edaNTxlTyAH_Gi5E3AmtBAsDg6kqF6HtCWc1..&spm=a21xtw.29178619.product_shelf.74.41727d6dRCDvul 2. [ ] 风格化水面资产 https://item.taobao.com/item.htm?id=865360489543&pisk=gLHsX7NMiNb1gB7njFKURXly5Dwb5q9y1iZxqmBNDReTkigKDtQA6-FLJorOMSU2sqNju2VxQRoZRGDIPtWwSCmAh-yvzUJyUcman-Lyk8kOUGq4mNUAurCKv-rjPdNAXcmgnrIFkQlKjZg5RK5YDrKQpor7k-EYW9KQcuaYHPFAJ6E8JrexkSIdJuZ5MZCTHkKQju5OBoeYvMEaVtBtk-KIvyqxnDXQDCZ-fHz1qUDkpeKgJtBxdlNpTcUKrr-4i5TjbyXvy1Zg1coTRtBxKXkPllz9ZMz0QPDbfqvlIRFjTAVoQeBsl20KBSDp8B00QuV-MD-lTPDIQvFsCU1uCX3nd5DOWhqtsqDbQx71hDMb57HTOKx0CDEYdbneq6zidAkL1AT5ZPMiDjPItNTUuboEBWgJ89g0GXkgZA8dC4IyzTz7sJ5fA7XbAz-BAsf0xzPwqJ_edaNTxlTyAH_Gi5E3AmtBAsDg6kqF6HtCWc1..&spm=a21xtw.29178619.product_shelf.74.41727d6dRCDvul
15. [ ] 添加Debug View https://zhuanlan.zhihu.com/p/668782106 16. [ ] 添加Debug View https://zhuanlan.zhihu.com/p/668782106
16. [ ] [_UE5_ Shader Print系统](https://zhuanlan.zhihu.com/p/637929634) 17. [ ] [_UE5_ Shader Print系统](https://zhuanlan.zhihu.com/p/637929634)
17. [ ] GBufferView实现。 18. [ ] GBufferView实现。
18. [ ] Toon Debug模式可以让美术在材质进行进行简单的光照计算。 19. [ ] Toon Debug模式可以让美术在材质进行进行简单的光照计算。
19. [ ] ToonShadow 20. [ ] ToonShadow
1. ![[星穹铁道中下巴阴影处理.png]] 1. ![[星穹铁道中下巴阴影处理.png]]
2. [ ] ToonSDFShadow 2. [ ] ToonSDFShadow
1. [ ] TODO: SDF贴图工具 1. [ ] TODO: SDF贴图工具
3. [ ] ShadowPass https://zhuanlan.zhihu.com/p/619718145 21. [ ] LookDev场景
1. [ ] 半分阴影[[幻塔-半程自阴影.png]]
20. [ ] LookDev场景
1. [ ] https://zhuanlan.zhihu.com/p/394608910 1. [ ] https://zhuanlan.zhihu.com/p/394608910
21. [ ] 考虑往GBuffer中添加更多数据考虑Velocity以及SingleLayerWater 22. [ ] 考虑往GBuffer中添加更多数据考虑Velocity以及SingleLayerWater
1. ShaderMaterialDerivedHelpers.cppShader宏、GBufferInfo.cppGBuffer格式BasePassRendering.cpp950行SingleLayerWater写入GBuffer格式相关 1. ShaderMaterialDerivedHelpers.cppShader宏、GBufferInfo.cppGBuffer格式BasePassRendering.cpp950行SingleLayerWater写入GBuffer格式相关
2. 确定一下SingleLayerWater中VSMFiter与DistanceFieldShadow对渲染结果的影响之后在文档中说明。 2. 确定一下SingleLayerWater中VSMFiter与DistanceFieldShadow对渲染结果的影响之后在文档中说明。
22. [ ] 修复SIngleLayerWater的缩略图渲染渲染错误双击会有一瞬间的错误产生 23. [ ] 修复SIngleLayerWater的缩略图渲染渲染错误双击会有一瞬间的错误产生
23. [ ] 添加对应的Stat https://zhuanlan.zhihu.com/p/716644594 24. [ ] 添加对应的Stat https://zhuanlan.zhihu.com/p/716644594
24. [ ] ToonLumen、GI以及晕染效果实现。![[卡通渲染晕染效果.mp4]] 25. [ ] ToonLumen、GI以及晕染效果实现。![[卡通渲染晕染效果.mp4]]
25. [ ] 在材质中实现ToonEye相关效果 26. [ ] 在材质中实现ToonEye相关效果
1. 【二次元人物眼睛如何变形?】 https://www.bilibili.com/video/BV14M4m1y71A/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e 1. 【二次元人物眼睛如何变形?】 https://www.bilibili.com/video/BV14M4m1y71A/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
1. 原视频 https://www.youtube.com/watch?v=euIyX9v8rvw 1. 原视频 https://www.youtube.com/watch?v=euIyX9v8rvw
2. 眼睛建模 https://youtu.be/s2_7Q2IIvNY?si=fWiYjqcLFXzdeQ-B&t=126 2. 眼睛建模 https://youtu.be/s2_7Q2IIvNY?si=fWiYjqcLFXzdeQ-B&t=126
26. 尝试实现Forward+ 27. 尝试实现Forward+
1. BasePass https://zhuanlan.zhihu.com/p/618698467 1. BasePass https://zhuanlan.zhihu.com/p/618698467
27. DX11问题修复 28. DX11问题修复
1. [x] ToonOutline SceneColorTexture为空的问题。 **DX11限制必须CopyTexture** 1. [x] ToonOutline SceneColorTexture为空的问题。 **DX11限制必须CopyTexture**
28. 卡通渲染针对TAA的优化思路 https://zhuanlan.zhihu.com/p/678876237 29. 卡通渲染针对TAA的优化思路 https://zhuanlan.zhihu.com/p/678876237
1. https://www.bilibili.com/video/BV1BK411v7FY/?spm_id_from=333.788&vd_source=ea6df38502a795b7533aa33b78bf1159 1. https://www.bilibili.com/video/BV1BK411v7FY/?spm_id_from=333.788&vd_source=ea6df38502a795b7533aa33b78bf1159
2. https://zhuanlan.zhihu.com/p/20786650 2. https://zhuanlan.zhihu.com/p/20786650
29. [ ] Unreal Engine 5.4 Scene Extension https://zhuanlan.zhihu.com/p/706268007 30. [ ] Unreal Engine 5.4 Scene Extension https://zhuanlan.zhihu.com/p/706268007
1. [ ] 通过SceneExtension改进ToonObjectID这样可以减少对应ToonBuffer的精度来存其他数据。 1. [ ] 通过SceneExtension改进ToonObjectID这样可以减少对应ToonBuffer的精度来存其他数据。
2. [ ] https://www.bilibili.com/video/BV1fM4m1U7Tp/ 2. [ ] https://www.bilibili.com/video/BV1fM4m1U7Tp/

View File

@ -459,21 +459,24 @@ FDirectLighting ToonBxDF(FGBufferData GBuffer, half3 N, half3 V, half3 L, float
```c++ ```c++
...    ...   
float3 LightColorAndAttenuation = AreaLight.FalloffColor * MooaToonContext.LightColor * Falloff; float3 LightColorAndAttenuation = AreaLight.FalloffColor * MooaToonContext.LightColor * Falloff;
    ColorSaturationPowerAndScale(LightColorAndAttenuation, View.MooaLightSaturationScale);
... ...
... ...
float DiffuseColorRampU = min3(saturate(Shadow.SurfaceShadow + HairShadowOffset), GBuffer.GBufferAO, ShadowGradient); // Diffuse
half4 DiffuseColorRamp = SampleGlobalRamp(View.MooaGlobalDiffuseColorRampAtlas, DiffuseColorRampU, ToonGBuffer.DiffuseColorRampIndex, View.MooaGlobalDiffuseColorRampAtlasHeight); BRANCH if (Context.IsMainLight)
Shadow.SurfaceShadow = DiffuseColorRampU; {
Shadow.SurfaceShadow = saturate(Shadow.SurfaceShadow + HairShadowValueOffset + MooaToonData.MainLightShadowValueOffset * 2.0f - 1.0f);
half3 ToonDiffuseColor = GBuffer.DiffuseColor; LightColorAndAttenuation *= Shadow.SurfaceShadow;
half3 ToonShadowColor = ToonGBuffer.MainLightShadowColor * (1 - GBuffer.Metallic) * GetShadowColorIntensity(MooaToonContext); float3 MainLightShadowColor = MooaToonData.MainLightShadowColor * lerp(1, Context.LightColor, MooaToonData.MainLightShadowApplyLightColor) * View.MooaIsGlobalIlluminationEnabled;
#if USE_DEVELOPMENT_SHADERS Lighting.Diffuse = lerp(MainLightShadowColor, GBuffer.BaseColor * Context.LightColor, Shadow.SurfaceShadow) * PI_INV;
ToonShadowColor *= View.DiffuseOverrideParameter.w + View.DiffuseOverrideParameter.xyz; }
#endif else
ToonDiffuseColor = lerp(ToonShadowColor, ToonDiffuseColor, DiffuseColorRamp.a); {
float OtherLightShadowValue = ToonStep(halfNoL, MooaToonData.OtherLightDiffuseFeather, MooaToonData.OtherLightDiffuseThreshold);
Lighting.Diffuse = Diffuse_Lambert(ToonDiffuseColor) * DiffuseColorRamp.rgb * LightColorAndAttenuation; // Non-Directional light's SurfaceShadow contains distance attenuation, not just shadowmap
Shadow.SurfaceShadow *= saturate(OtherLightShadowValue + HairShadowValueOffset);
LightColorAndAttenuation *= Shadow.SurfaceShadow;
Lighting.Diffuse = GBuffer.BaseColor * LightColorAndAttenuation * PI_INV;
}
``` ```
# 实用函数 # 实用函数
@ -495,4 +498,3 @@ void GetDistanceFieldFacialShadow(FGBufferData GBuffer, FToonGBufferData ToonGBu
} }
``` ```