From 03322a728c28a4470a58f1b7445d1f969a5ea041 Mon Sep 17 00:00:00 2001 From: BlueRose <378100977@qq.com> Date: Sat, 8 Feb 2025 22:08:44 +0800 Subject: [PATCH] vault backup: 2025-02-08 22:08:44 --- .../RenderingPipeline/PSO Precache机制笔记.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 03-UnrealEngine/Rendering/RenderingPipeline/PSO Precache机制笔记.md diff --git a/03-UnrealEngine/Rendering/RenderingPipeline/PSO Precache机制笔记.md b/03-UnrealEngine/Rendering/RenderingPipeline/PSO Precache机制笔记.md new file mode 100644 index 0000000..a195510 --- /dev/null +++ b/03-UnrealEngine/Rendering/RenderingPipeline/PSO Precache机制笔记.md @@ -0,0 +1,23 @@ +--- +title: PSO Precache机制笔记 +date: 2025-02-08 20:42:16 +excerpt: +tags: +rating: ⭐ +--- +# 前言 +- [UE5.3] PSO Cache&PreCache 源码阅读:https://zhuanlan.zhihu.com/p/679832250 +- [UE5.3] PSO Cache&PreCache 源码阅读(二):https://zhuanlan.zhihu.com/p/681803986 +- Unreal Engine 5.2 MeshPass拓展:https://zhuanlan.zhihu.com/p/671423486 +# 执行链 +- FGraphEventArray UPrimitiveComponent::PrecachePSOs() +- void UMaterialInterface::InitDefaultMaterials() +- UMaterial::PrecachePSOs + + UMaterial::PrecachePSOs => **MaterialResource->CollectPSOs()** => PrecacheMaterialPSOs() => PrecachePSOs() => CollectPSOs() => CollectPSOInitializers() + +# CollectPSOInitializers() +接口IPSOCollector::CollectPSOInitializers() + +## 其他MeshProcessor实现 +