2.1 KiB
Raw Blame History

title, date, excerpt, tags, rating
title date excerpt tags rating
Untitled 2025-06-03 10:19:25

前言

  1. ShaderWorldPCGInterop
  2. ShaderWorld
  3. ShaderWorldCore

ShaderWorld

ASWorld

AShaderWorldActor

DrawMaterialToRenderTarget

USWorldSubsystem::DrawMaterialToRenderTarget => SWShaderToolBox::DrawMaterial => DrawMaterial_CS_RT

调用路径:

  • AShaderWorldActor::RetrieveHeightAt好像没有引用检索高度
  • AShaderWorldActor::ComputeHeight_Segmented_MapForClipMap
    • AShaderWorldActor::ProcessSegmentedComputation() <- AShaderWorldActor::TerrainAndSpawnablesManagement() <- AShaderWorldActor::Tick()
  • AShaderWorldActor::ComputeHeightMapForClipMap
    • AShaderWorldActor::UpdateClipMap() <- AShaderWorldActor::TerrainAndSpawnablesManagement() <- AShaderWorldActor::Tick()
  • AShaderWorldActor::ComputeDataLayersForClipMap
    • AShaderWorldActor::UpdateClipMap() <- AShaderWorldActor::TerrainAndSpawnablesManagement() <- AShaderWorldActor::Tick()
  • AShaderWorldActor::UpdateCollisionMeshData更新碰撞模型数据。
    • AShaderWorldActor::CollisionGPU() <- AShaderWorldActor::CollisionManagement() <- AShaderWorldActor::Tick()
  • FSpawnableMesh::UpdateSpawnableData
    • AShaderWorldActor::ProcessSegmentedComputation() <- AShaderWorldActor::TerrainAndSpawnablesManagement() <- AShaderWorldActor::Tick()

Cache机制

AShaderWorldActor::ProcessSegmentedComputation() <- AShaderWorldActor::TerrainAndSpawnablesManagement() <- AShaderWorldActor::Tick()

其他Bug

CacheMatDyn MatDyn

SetTextureParameterValue相关逻辑排查

  • AShaderWorldActor中的SetTextureParameterValue
    • ExportCacheInBounds
    • AssignHeightMapToDynamicMaterial
    • UpdateStaticDataFor
    • ComputeHeight_Segmented_MapForClipMap似乎会设置
    • UpdateCollisionMeshData
    • InitializeReadBackDependencies
    • InitiateMaterials

ComputeHeight_Segmented_MapForClipMap

InitiateMaterials

初始化TArray<FClipMapMeshElement> Meshes;的Material、Producers BeginPlay() -> InitiateWorld() -> InitiateMaterials()