UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LandscapeGrass.cpp File Reference
#include "CoreMinimal.h"
#include "EdGraph/EdGraphNode.h"
#include "GenericPlatform/GenericPlatformStackWalk.h"
#include "HAL/FileManager.h"
#include "Misc/FileHelper.h"
#include "Misc/Paths.h"
#include "Misc/Guid.h"
#include "Math/RandomStream.h"
#include "Stats/Stats.h"
#include "Async/AsyncWork.h"
#include "HAL/IConsoleManager.h"
#include "Misc/App.h"
#include "UObject/ObjectMacros.h"
#include "UObject/UObjectIterator.h"
#include "EngineDefines.h"
#include "Engine/EngineTypes.h"
#include "GameFramework/Actor.h"
#include "ShowFlags.h"
#include "RHI.h"
#include "RenderingThread.h"
#include "DataDrivenShaderPlatformInfo.h"
#include "ShaderParameters.h"
#include "RHIStaticStates.h"
#include "SceneView.h"
#include "Shader.h"
#include "Landscape.h"
#include "LandscapePrivate.h"
#include "LandscapeProxy.h"
#include "LandscapeInfo.h"
#include "LightMap.h"
#include "Engine/MapBuildDataRegistry.h"
#include "ShadowMap.h"
#include "LandscapeComponent.h"
#include "LandscapeSubsystem.h"
#include "LandscapeGrassMapsBuilder.h"
#include "LandscapeVersion.h"
#include "MaterialShaderType.h"
#include "MeshMaterialShaderType.h"
#include "MeshMaterialShader.h"
#include "Materials/Material.h"
#include "LandscapeGrassType.h"
#include "Materials/MaterialExpressionLandscapeGrassOutput.h"
#include "Engine/TextureRenderTarget2D.h"
#include "LandscapeDataAccess.h"
#include "StaticMeshComponentLODInfo.h"
#include "StaticMeshResources.h"
#include "LandscapeLight.h"
#include "GrassInstancedStaticMeshComponent.h"
#include "Materials/MaterialInstanceConstant.h"
#include "ShaderParameterUtils.h"
#include "EngineModule.h"
#include "LandscapeRender.h"
#include "LandscapeGrassWeightExporter.h"
#include "MaterialCompiler.h"
#include "Algo/Accumulate.h"
#include "Algo/ForEach.h"
#include "UObject/Package.h"
#include "Engine/StaticMesh.h"
#include "Components/InstancedStaticMeshComponent.h"
#include "Engine/InstancedStaticMesh.h"
#include "MeshPassProcessor.h"
#include "MeshPassProcessor.inl"
#include "Math/Halton.h"
#include "EngineUtils.h"
#include "Misc/ScopedSlowTask.h"
#include "TextureCompiler.h"
#include "RenderCaptureInterface.h"
#include "SimpleMeshDrawCommandPass.h"
#include "UObject/FortniteMainBranchObjectVersion.h"
#include "MaterialCachedData.h"
#include "SceneRenderTargetParameters.h"
#include "TextureResource.h"
#include "Serialization/ArchiveCrc32.h"
#include "SceneRendererInterface.h"
#include "DrawDebugHelpers.h"

Classes

class  FLandscapeGrassLightMap
 
class  FLandscapeGrassShadowMap
 
struct  FGrassBuilderBase
 
struct  FLandscapeComponentGrassAccess
 
struct  FAsyncGrassBuilder
 

Macros

#define LOCTEXT_NAMESPACE   "Landscape"
 

Functions

 DEFINE_LOG_CATEGORY (LogGrass)
 
 DECLARE_CYCLE_STAT (TEXT("Grass Async Build Time"), STAT_FoliageGrassAsyncBuildTime, STATGROUP_Foliage)
 
 DECLARE_CYCLE_STAT (TEXT("Grass Start Comp"), STAT_FoliageGrassStartComp, STATGROUP_Foliage)
 
 DECLARE_CYCLE_STAT (TEXT("Grass End Comp"), STAT_FoliageGrassEndComp, STATGROUP_Foliage)
 
 DECLARE_CYCLE_STAT (TEXT("Grass Destroy Comps"), STAT_FoliageGrassDestoryComp, STATGROUP_Foliage)
 
 DECLARE_CYCLE_STAT (TEXT("Grass Update"), STAT_GrassUpdate, STATGROUP_Foliage)
 
 DECLARE_CYCLE_STAT (TEXT("Grass Type Update Summary"), STAT_UpdateGrassTypeSummary, STATGROUP_Foliage)
 
 DECLARE_DWORD_ACCUMULATOR_STAT (TEXT("Grass Exclusion Volumes"), STAT_GrassExclusionVolumes, STATGROUP_Foliage)
 
FArchiveoperator<< (FArchive &Ar, FLandscapeComponentGrassData &Data)
 

Variables

float GGrassCullDistanceScale = 1
 
int32 GGrassEnable = 1
 
const TCHARGGrassQualityLevelCVarName = TEXT("r.grass.DensityQualityLevel")
 
const TCHARGGrassQualityLevelScalabilitySection = TEXT("ViewDistanceQuality")
 
int32 GGrassQualityLevel = -1
 

Macro Definition Documentation

◆ LOCTEXT_NAMESPACE

#define LOCTEXT_NAMESPACE   "Landscape"

Function Documentation

◆ DECLARE_CYCLE_STAT() [1/6]

DECLARE_CYCLE_STAT ( TEXT("Grass Async Build Time" ,
STAT_FoliageGrassAsyncBuildTime  ,
STATGROUP_Foliage   
)

◆ DECLARE_CYCLE_STAT() [2/6]

DECLARE_CYCLE_STAT ( TEXT("Grass Destroy Comps" ,
STAT_FoliageGrassDestoryComp  ,
STATGROUP_Foliage   
)

◆ DECLARE_CYCLE_STAT() [3/6]

DECLARE_CYCLE_STAT ( TEXT("Grass End Comp" ,
STAT_FoliageGrassEndComp  ,
STATGROUP_Foliage   
)

◆ DECLARE_CYCLE_STAT() [4/6]

DECLARE_CYCLE_STAT ( TEXT("Grass Start Comp" ,
STAT_FoliageGrassStartComp  ,
STATGROUP_Foliage   
)

◆ DECLARE_CYCLE_STAT() [5/6]

DECLARE_CYCLE_STAT ( TEXT("Grass Type Update Summary" ,
STAT_UpdateGrassTypeSummary  ,
STATGROUP_Foliage   
)

◆ DECLARE_CYCLE_STAT() [6/6]

DECLARE_CYCLE_STAT ( TEXT("Grass Update" ,
STAT_GrassUpdate  ,
STATGROUP_Foliage   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT()

DECLARE_DWORD_ACCUMULATOR_STAT ( TEXT("Grass Exclusion Volumes" ,
STAT_GrassExclusionVolumes  ,
STATGROUP_Foliage   
)

◆ DEFINE_LOG_CATEGORY()

DEFINE_LOG_CATEGORY ( LogGrass  )

◆ operator<<()

FArchive & operator<< ( FArchive Ar,
FLandscapeComponentGrassData Data 
)

Variable Documentation

◆ GGrassCullDistanceScale

float GGrassCullDistanceScale = 1

◆ GGrassEnable

int32 GGrassEnable = 1

◆ GGrassQualityLevel

int32 GGrassQualityLevel = -1

◆ GGrassQualityLevelCVarName

const TCHAR* GGrassQualityLevelCVarName = TEXT("r.grass.DensityQualityLevel")

◆ GGrassQualityLevelScalabilitySection

const TCHAR* GGrassQualityLevelScalabilitySection = TEXT("ViewDistanceQuality")