![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include "Components/HierarchicalInstancedStaticMeshComponent.h"#include "StaticMeshComponentLODInfo.h"#include "Templates/Greater.h"#include "EngineLogs.h"#include "EngineStats.h"#include "Engine/Level.h"#include "AI/NavigationSystemBase.h"#include "AI/Navigation/NavCollisionBase.h"#include "Engine/MapBuildDataRegistry.h"#include "Materials/MaterialInterface.h"#include "Materials/MaterialRenderProxy.h"#include "MaterialShared.h"#include "UObject/UObjectIterator.h"#include "RenderUtils.h"#include "UnrealEngine.h"#include "Containers/Ticker.h"#include "InstancedStaticMeshDelegates.h"#include "UObject/ReleaseObjectVersion.h"#include "ComponentRecreateRenderStateContext.h"#include "Algo/AnyOf.h"#include "UObject/UnrealType.h"#include "NaniteSceneProxy.h"#include "HierarchicalStaticMeshSceneProxy.h"#include "InstancedStaticMesh/ISMInstanceUpdateChangeSet.h"Classes | |
| struct | FFoliageRenderInstanceParams |
| struct | FFoliageCullInstanceParams |
| struct | FFoliageElementParams |
Variables | |
| TAutoConsoleVariable< float > | CVarFoliageMinimumScreenSize (TEXT("foliage.MinimumScreenSize"), 0.000005f, TEXT("This controls the screen size at which we cull foliage instances entirely."), ECVF_Scalability) |
| TAutoConsoleVariable< int32 > | CVarFoliageMaxEndCullDistance (TEXT("foliage.MaxEndCullDistance"), 0, TEXT("Max distance for end culling (0 disabled).")) |
| TAutoConsoleVariable< float > | CVarFoliageLODDistanceScale (TEXT("foliage.LODDistanceScale"), 1.0f, TEXT("Scale factor for the distance used in computing LOD for foliage."), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context;}), ECVF_Scalability) |
| TAutoConsoleVariable< float > | CVarRandomLODRange (TEXT("foliage.RandomLODRange"), 0.0f, TEXT("Random distance added to each instance distance to compute LOD.")) |
| const VectorRegister | VECTOR_HALF_HALF_HALF_ZERO = DECLARE_VECTOR_REGISTER(0.5f, 0.5f, 0.5f, 0.0f) |
|
inline |
|
inline |
| DECLARE_CYCLE_STAT | ( | TEXT("Batch Time") | , |
| STAT_FoliageBatchTime | , | ||
| STATGROUP_Foliage | |||
| ) |
| DECLARE_CYCLE_STAT | ( | TEXT("Build Time") | , |
| STAT_FoliageBuildTime | , | ||
| STATGROUP_Foliage | |||
| ) |
| DECLARE_CYCLE_STAT | ( | TEXT("Foliage Create Proxy") | , |
| STAT_FoliageCreateProxy | , | ||
| STATGROUP_Foliage | |||
| ) |
| DECLARE_CYCLE_STAT | ( | TEXT("Foliage Post Load") | , |
| STAT_FoliagePostLoad | , | ||
| STATGROUP_Foliage | |||
| ) |
| DECLARE_CYCLE_STAT | ( | TEXT("HISMC_AddInstance") | , |
| STAT_HISMCAddInstance | , | ||
| STATGROUP_Foliage | |||
| ) |
| DECLARE_CYCLE_STAT | ( | TEXT("HISMC_AddInstances") | , |
| STAT_HISMCAddInstances | , | ||
| STATGROUP_Foliage | |||
| ) |
| DECLARE_CYCLE_STAT | ( | TEXT("HISMC_GetDynamicMeshElement") | , |
| STAT_HISMCGetDynamicMeshElement | , | ||
| STATGROUP_Foliage | |||
| ) |
| DECLARE_CYCLE_STAT | ( | TEXT("HISMC_RemoveInstance") | , |
| STAT_HISMCRemoveInstance | , | ||
| STATGROUP_Foliage | |||
| ) |
| DECLARE_CYCLE_STAT | ( | TEXT("Traversal Time") | , |
| STAT_FoliageTraversalTime | , | ||
| STATGROUP_Foliage | |||
| ) |
| DECLARE_DWORD_COUNTER_STAT | ( | TEXT("Instances") | , |
| STAT_FoliageInstances | , | ||
| STATGROUP_Foliage | |||
| ) |
| DECLARE_DWORD_COUNTER_STAT | ( | TEXT("Mesh Batches") | , |
| STAT_FoliageMeshBatches | , | ||
| STATGROUP_Foliage | |||
| ) |
| DECLARE_DWORD_COUNTER_STAT | ( | TEXT("Occlusion Culled Instances") | , |
| STAT_OcclusionCulledFoliageInstances | , | ||
| STATGROUP_Foliage | |||
| ) |
| DECLARE_DWORD_COUNTER_STAT | ( | TEXT("Runs") | , |
| STAT_FoliageRuns | , | ||
| STATGROUP_Foliage | |||
| ) |
| DECLARE_DWORD_COUNTER_STAT | ( | TEXT("Traversals") | , |
| STAT_FoliageTraversals | , | ||
| STATGROUP_Foliage | |||
| ) |
| DECLARE_DWORD_COUNTER_STAT | ( | TEXT("Triangles") | , |
| STAT_FoliageTriangles | , | ||
| STATGROUP_Foliage | |||
| ) |
| DECLARE_MEMORY_STAT | ( | TEXT("Instance Buffers") | , |
| STAT_FoliageInstanceBuffers | , | ||
| STATGROUP_Foliage | |||
| ) |
| void ToggleFreezeFoliageCulling | ( | ) |
| TAutoConsoleVariable< float > CVarFoliageLODDistanceScale(TEXT("foliage.LODDistanceScale"), 1.0f, TEXT("Scale factor for the distance used in computing LOD for foliage."), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context; }), ECVF_Scalability) | ( | TEXT("foliage.LODDistanceScale") | , |
| 1. | 0f, | ||
| TEXT("Scale factor for the distance used in computing LOD for foliage.") | , | ||
| FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context; }) | , | ||
| ECVF_Scalability | |||
| ) |
| TAutoConsoleVariable< int32 > CVarFoliageMaxEndCullDistance(TEXT("foliage.MaxEndCullDistance"), 0, TEXT("Max distance for end culling (0 disabled).")) | ( | TEXT("foliage.MaxEndCullDistance") | , |
| 0 | , | ||
| TEXT("Max distance for end culling (0 disabled).") | |||
| ) |
| TAutoConsoleVariable< float > CVarFoliageMinimumScreenSize(TEXT("foliage.MinimumScreenSize"), 0.000005f, TEXT("This controls the screen size at which we cull foliage instances entirely."), ECVF_Scalability) | ( | TEXT("foliage.MinimumScreenSize") | , |
| 0. | 000005f, | ||
| TEXT("This controls the screen size at which we cull foliage instances entirely.") | , | ||
| ECVF_Scalability | |||
| ) |
| TAutoConsoleVariable< float > CVarRandomLODRange(TEXT("foliage.RandomLODRange"), 0.0f, TEXT("Random distance added to each instance distance to compute LOD.")) | ( | TEXT("foliage.RandomLODRange") | , |
| 0. | 0f, | ||
| TEXT("Random distance added to each instance distance to compute LOD.") | |||
| ) |
| const VectorRegister VECTOR_HALF_HALF_HALF_ZERO = DECLARE_VECTOR_REGISTER(0.5f, 0.5f, 0.5f, 0.0f) |