diff --git a/.obsidian/plugins/various-complements/histories.json b/.obsidian/plugins/various-complements/histories.json index c2b0173..7b56615 100644 --- a/.obsidian/plugins/various-complements/histories.json +++ b/.obsidian/plugins/various-complements/histories.json @@ -1 +1 @@ -{"Class":{"Class":{"currentFile":{"count":1,"lastUpdated":1748942840437}}},"DebugView":{"DebugView":{"internalLink":{"count":1,"lastUpdated":1749700323505}}},"XXXXX,之后点击回车。注:XXXXX为模拟器端口号,请参考打开的模拟器问题诊断内展示端口号或MuMu多开器12内的adb端口后再输入。":{"XXXXX,之后点击回车。注:XXXXX为模拟器端口号,请参考打开的模拟器问题诊断内展示端口号或MuMu多开器12内的adb端口后再输入。":{"currentFile":{"count":1,"lastUpdated":1750142832492}}},"\\Users\\loujiajie\\desktop\\log.txt":{"\\Users\\loujiajie\\desktop\\log.txt":{"currentFile":{"count":1,"lastUpdated":1750143148509}}}} \ No newline at end of file +{"Class":{"Class":{"currentFile":{"count":1,"lastUpdated":1748942840437}}},"DebugView":{"DebugView":{"internalLink":{"count":1,"lastUpdated":1749700323505}}},"XXXXX,之后点击回车。注:XXXXX为模拟器端口号,请参考打开的模拟器问题诊断内展示端口号或MuMu多开器12内的adb端口后再输入。":{"XXXXX,之后点击回车。注:XXXXX为模拟器端口号,请参考打开的模拟器问题诊断内展示端口号或MuMu多开器12内的adb端口后再输入。":{"currentFile":{"count":1,"lastUpdated":1750142832492}}},"\\Users\\loujiajie\\desktop\\log.txt":{"\\Users\\loujiajie\\desktop\\log.txt":{"currentFile":{"count":1,"lastUpdated":1750143148509}}},"相关线程安全变量:":{"相关线程安全变量:":{"currentFile":{"count":1,"lastUpdated":1750853529118}}}} \ No newline at end of file diff --git a/03-UnrealEngine/Rendering/RenderFeature/ShaderWorldPlugin/ShaderWorld.md b/03-UnrealEngine/Rendering/RenderFeature/ShaderWorldPlugin/ShaderWorld.md index d18c606..d19ca6a 100644 --- a/03-UnrealEngine/Rendering/RenderFeature/ShaderWorldPlugin/ShaderWorld.md +++ b/03-UnrealEngine/Rendering/RenderFeature/ShaderWorldPlugin/ShaderWorld.md @@ -16,6 +16,9 @@ rating: ⭐ - ShaderWorldActor.h:[[#AShaderWorldActor]] - SWorld.h:[[#ASWorld]] +## FRenderCommandFence + + # USWorldSubsystem 主要管理: - TArray SW_Contexts @@ -23,13 +26,13 @@ rating: ⭐ # ASWorld # AShaderWorldActor - +## 大致启动流程 大致启动流程: - BeginPlay() 1. 设置SWCamera Location。 2. 清空所有数据。 3. InitiateWorld() - 1. 更新相关变量:GenerateCollision_last、VerticalRangeMeters_last、WorldHasBounds_OnRebuild。 + 1. 更新相关变量:GenerateCollision_last、VerticalRangeMeters_last、WorldHasBounds_OnRebuild。**Segmented_Initialized** 、**bExportPhysicalMaterialID_cached** 2. 设置高度生成用材质变量 Generator;bool bHadGeneratorAtRebuildTime = IsValid(Generator); 3. LOD_Num与WorldDimensionMeters计算。 4. 重新生成若干数组: @@ -37,10 +40,27 @@ rating: ⭐ 2. ClipMapToUpdateAndMove 3. ClipMapToUpdate 4. NeedSegmentedUpdate + 5. AdaptiveTopology 5. 相关线程安全变量: 1. Shareable_ID_FarLOD 2. UpdateHOverTime + 6. ComputeOptimalVirtualCacheSize() + 7. for (int32 i = (WorldHasBounds_OnRebuild ? -1 : 0); i < LOD_Num; i++) + 8. Toggle Async creation of Clipmap Meshes + 9. Async TaskGraph ClipMapMeshCreation - Tick() + - 初始化 + 1. 取得USWorldSubsystem指针,并且进行初始化。 + - ReadbacksManagement() + - CollisionManagement() + - SpawnablesManagement() + - TerrainAndSpawnablesManagement() + +### ReadbacksManagement() +相关线程安全变量: + - **bProcessingHeightRetrieval** + - **bProcessingHeightRetrievalRT** + ## PreEditChange() / PostEditChangeProperty() **PreEditChange()** 主要针对以下两个变量的设置: @@ -64,13 +84,6 @@ rating: ⭐ - InitiateClipMapMeshes():如果处于重建状态就直接返回。 - FinalizeAsyncWork():如果处于重建状态就直接返回。 - - -## Tick() - - - - ## DrawMaterialToRenderTarget USWorldSubsystem::DrawMaterialToRenderTarget =>