12#include "HierarchicalInstancedStaticMeshComponent.generated.h"
14class FStaticLightingTextureMapping_InstancedStaticMesh;
107 , FirstChild(
OldNode.FirstChild)
110 , FirstInstance(
OldNode.FirstChild)
111 , LastInstance(
OldNode.LastInstance)
148 uint32 bUseTranslatedInstanceSpace : 1;
152 FVector TranslatedInstanceSpaceOrigin;
160 int32 NumBuiltInstances;
163 int32 NumBuiltRenderInstances;
167 FBox BuiltInstanceBounds;
171 FBox UnbuiltInstanceBounds;
180 uint32 bEnableDensityScaling:1;
183 float CurrentDensityScaling;
187 int32 OcclusionLayerNumNodes;
195 int32 InstanceCountToRender;
197 bool bIsAsyncBuilding : 1;
198 bool bIsOutOfDate : 1;
199 bool bConcurrentChanges : 1;
200 bool bAutoRebuildTreeOnInstanceChanges : 1;
229 void BuildInstanceBuffer();
269 return Start <
Other.Start;
294 ENGINE_API virtual void PostEditImport()
override;
319 ENGINE_API virtual void ClearInstances()
override;
349 ENGINE_API virtual void PropagateLightingScenarioChange()
override;
354 UE_DEPRECATED(5.7,
"Please use BuildComponentInstanceData with EShaderPlatform argument and not ERHIFeatureLevel::Type")
382 virtual FVector GetTranslatedInstanceSpaceOrigin()
const override {
return TranslatedInstanceSpaceOrigin; }
386 UE_DEPRECATED(5.4,
"UHierarchicalInstancedStaticMeshComponent is no longer overriding UInstancedStaticMeshComponent::GetNavigationPerInstanceTransforms.")
391 virtual bool SupportsPartialNavigationUpdate()
const override {
return Super::SupportsPartialNavigationUpdate(); }
392 UE_DEPRECATED(5.4,
"FlushAccumulatedNavigationUpdates has been deprecated. Use UInstancedStaticMeshComponent::PartialNavigationUpdates if you want to manually update the navigation data.")
393 ENGINE_API void FlushAccumulatedNavigationUpdates();
395 UE_DEPRECATED(5.4, "AccumulatedNavigationDirtyArea has been deprecated.")
397 UE_DEPRECATED(5.4, "AccumulatedNavigationDirtyAreas has been deprecated.")
408 friend FStaticLightingTextureMapping_InstancedStaticMesh;
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EHISMViewRelevanceType
Definition HierarchicalInstancedStaticMeshComponent.h:19
bool operator<(const FTextFormatString &LHS, const FTextFormatString &RHS)
Definition ITextFormatArgumentModifier.h:147
void Init()
Definition LockFreeList.h:4
#define MAX_flt
Definition NumericLimits.h:29
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
#define Split(a, ahi, alo)
Definition Predicates.inl:204
ESPMode
Definition SharedPointerFwd.h:12
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition LightWeightInstanceStaticMeshManager.h:16
Definition Archive.h:1208
Definition PrimitiveSceneProxy.h:296
Definition StaticMeshResources.h:1031
Definition HitProxies.h:135
Definition ArrayView.h:139
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition UniquePtr.h:107
Definition HierarchicalInstancedStaticMeshComponent.h:219
int32 OriginalNum
Definition HierarchicalInstancedStaticMeshComponent.h:237
TArray< int32 > SortIndex
Definition HierarchicalInstancedStaticMeshComponent.h:250
TArray< FSortPair > SortPairs
Definition HierarchicalInstancedStaticMeshComponent.h:284
TArray< FVector > SortPoints
Definition HierarchicalInstancedStaticMeshComponent.h:251
bool GenerateInstanceScalingRange
Definition HierarchicalInstancedStaticMeshComponent.h:248
TArray< float > CustomDataFloats
Definition HierarchicalInstancedStaticMeshComponent.h:253
float DensityScaling
Definition HierarchicalInstancedStaticMeshComponent.h:247
int32 InstancingRandomSeed
Definition HierarchicalInstancedStaticMeshComponent.h:246
int32 NumRoots
Definition HierarchicalInstancedStaticMeshComponent.h:244
int32 NumCustomDataFloats
Definition HierarchicalInstancedStaticMeshComponent.h:254
int32 Num
Definition HierarchicalInstancedStaticMeshComponent.h:238
TUniquePtr< FClusterTree > Result
Definition HierarchicalInstancedStaticMeshComponent.h:233
int32 BranchingFactor
Definition HierarchicalInstancedStaticMeshComponent.h:240
TArray< FMatrix > Transforms
Definition HierarchicalInstancedStaticMeshComponent.h:252
FBox InstBox
Definition HierarchicalInstancedStaticMeshComponent.h:239
int32 InternalNodeBranchingFactor
Definition HierarchicalInstancedStaticMeshComponent.h:241
TUniquePtr< FStaticMeshInstanceData > BuiltInstanceData
Definition HierarchicalInstancedStaticMeshComponent.h:234
TArray< FRunPair > Clusters
Definition HierarchicalInstancedStaticMeshComponent.h:272
int32 OcclusionLayerTarget
Definition HierarchicalInstancedStaticMeshComponent.h:242
int32 MaxInstancesPerLeaf
Definition HierarchicalInstancedStaticMeshComponent.h:243
Definition HierarchicalInstancedStaticMeshComponent.h:136
bool IsAsyncBuilding() const
Definition HierarchicalInstancedStaticMeshComponent.h:333
virtual int32 GetNumRenderInstances() const
Definition HierarchicalInstancedStaticMeshComponent.h:344
EHISMViewRelevanceType GetViewRelevanceType() const
Definition HierarchicalInstancedStaticMeshComponent.h:351
virtual bool SupportsRemoveSwap() const override
Definition HierarchicalInstancedStaticMeshComponent.h:323
bool IsTreeFullyBuilt() const
Definition HierarchicalInstancedStaticMeshComponent.h:334
Definition InstancedStaticMeshComponent.h:158
Type
Definition TaskGraphInterfaces.h:57
Definition SceneComponent.h:24
Definition SkinnedMeshComponent.h:50
Definition HierarchicalInstancedStaticMeshComponent.h:28
friend FArchive & operator<<(FArchive &Ar, FClusterNode_DEPRECATED &NodeData)
Definition HierarchicalInstancedStaticMeshComponent.h:54
int32 FirstInstance
Definition HierarchicalInstancedStaticMeshComponent.h:40
FVector3f BoundMax
Definition HierarchicalInstancedStaticMeshComponent.h:36
int32 LastInstance
Definition HierarchicalInstancedStaticMeshComponent.h:42
int32 LastChild
Definition HierarchicalInstancedStaticMeshComponent.h:38
FVector3f BoundMin
Definition HierarchicalInstancedStaticMeshComponent.h:32
int32 FirstChild
Definition HierarchicalInstancedStaticMeshComponent.h:34
Definition HierarchicalInstancedStaticMeshComponent.h:72
int32 FirstChild
Definition HierarchicalInstancedStaticMeshComponent.h:78
FVector3f MaxInstanceScale
Definition HierarchicalInstancedStaticMeshComponent.h:91
int32 LastChild
Definition HierarchicalInstancedStaticMeshComponent.h:82
FVector3f BoundMin
Definition HierarchicalInstancedStaticMeshComponent.h:76
friend FArchive & operator<<(FArchive &Ar, FClusterNode &NodeData)
Definition HierarchicalInstancedStaticMeshComponent.h:117
FVector3f BoundMax
Definition HierarchicalInstancedStaticMeshComponent.h:80
FVector3f MinInstanceScale
Definition HierarchicalInstancedStaticMeshComponent.h:89
FClusterNode(const FClusterNode_DEPRECATED &OldNode)
Definition HierarchicalInstancedStaticMeshComponent.h:105
int32 LastInstance
Definition HierarchicalInstancedStaticMeshComponent.h:86
int32 FirstInstance
Definition HierarchicalInstancedStaticMeshComponent.h:84
Definition ISMInstanceDataManager.h:17
Definition InstancedStaticMeshComponent.h:840
Definition InstancedStaticMeshComponent.h:40
Definition UnrealType.h:7001
Definition ResourceSize.h:31
Definition BoxSphereBounds.h:25
Definition HierarchicalInstancedStaticMeshComponent.h:257
int32 Num
Definition HierarchicalInstancedStaticMeshComponent.h:259
int32 Start
Definition HierarchicalInstancedStaticMeshComponent.h:258
FRunPair(int32 InStart, int32 InNum)
Definition HierarchicalInstancedStaticMeshComponent.h:261
Definition HierarchicalInstancedStaticMeshComponent.h:275
int32 Index
Definition HierarchicalInstancedStaticMeshComponent.h:277
float d
Definition HierarchicalInstancedStaticMeshComponent.h:276
Definition HierarchicalInstancedStaticMeshComponent.h:209
TArray< FClusterNode > Nodes
Definition HierarchicalInstancedStaticMeshComponent.h:210
TArray< int32 > SortedInstances
Definition HierarchicalInstancedStaticMeshComponent.h:211
TArray< int32 > InstanceReorderTable
Definition HierarchicalInstancedStaticMeshComponent.h:212