UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RendererScene.cpp File Reference
#include "CoreMinimal.h"
#include "Engine/Level.h"
#include "Engine/TextureLightProfile.h"
#include "HAL/ThreadSafeCounter.h"
#include "HAL/PlatformFileManager.h"
#include "Stats/Stats.h"
#include "HAL/IConsoleManager.h"
#include "Misc/App.h"
#include "UObject/Package.h"
#include "UObject/UObjectIterator.h"
#include "Misc/PackageName.h"
#include "EngineDefines.h"
#include "EngineGlobals.h"
#include "Components/ActorComponent.h"
#include "RHI.h"
#include "RenderingThread.h"
#include "RenderResource.h"
#include "UniformBuffer.h"
#include "SceneTypes.h"
#include "SceneInterface.h"
#include "Components/PrimitiveComponent.h"
#include "PhysicsField/PhysicsFieldComponent.h"
#include "MaterialShared.h"
#include "PrimitiveDrawingUtils.h"
#include "PrecomputedLightVolume.h"
#include "PrecomputedVolumetricLightmap.h"
#include "Components/LightComponent.h"
#include "GameFramework/WorldSettings.h"
#include "Components/DecalComponent.h"
#include "Components/ReflectionCaptureComponent.h"
#include "Components/RuntimeVirtualTextureComponent.h"
#include "Components/InstancedStaticMeshComponent.h"
#include "ScenePrivateBase.h"
#include "SceneCore.h"
#include "Rendering/RayTracingGeometryManager.h"
#include "Rendering/MotionVectorSimulation.h"
#include "PrimitiveSceneInfo.h"
#include "LightSceneInfo.h"
#include "LightMapRendering.h"
#include "SkyAtmosphereRendering.h"
#include "BasePassRendering.h"
#include "MobileBasePassRendering.h"
#include "PrimitiveSceneDesc.h"
#include "InstancedStaticMeshSceneProxyDesc.h"
#include "ScenePrivate.h"
#include "SceneProxies/DeferredDecalProxy.h"
#include "SceneProxies/ReflectionCaptureProxy.h"
#include "SceneProxies/SkyAtmosphereSceneProxy.h"
#include "SceneProxies/SkyLightSceneProxy.h"
#include "SceneProxies/WindSourceSceneProxy.h"
#include "RendererModule.h"
#include "StaticMeshResources.h"
#include "ParameterCollection.h"
#include "DistanceFieldAmbientOcclusion.h"
#include "DistanceFieldAtlas.h"
#include "EngineModule.h"
#include "FXSystem.h"
#include "DistanceFieldLightingShared.h"
#include "SpeedTreeWind.h"
#include "Components/WindDirectionalSourceComponent.h"
#include "Lumen/LumenSceneData.h"
#include "PlanarReflectionSceneProxy.h"
#include "Engine/StaticMesh.h"
#include "GPUSkinCache.h"
#include "SkeletalMeshUpdater.h"
#include "ComputeSystemInterface.h"
#include "DynamicShadowMapChannelBindingHelper.h"
#include "GPUScene.h"
#include "HAL/LowLevelMemStats.h"
#include "HAL/LowLevelMemTracker.h"
#include "VT/RuntimeVirtualTextureEnum.h"
#include "VT/RuntimeVirtualTextureSceneProxy.h"
#include "VT/VirtualTextureSystem.h"
#include "HairStrandsInterface.h"
#include "VelocityRendering.h"
#include "RectLightSceneProxy.h"
#include "RectLightTextureManager.h"
#include "RenderCore.h"
#include "SceneRenderBuilder.h"
#include "IESTextureManager.h"
#include "Materials/MaterialRenderProxy.h"
#include "ProfilingDebugging/AssetMetadataTrace.h"
#include "ProfilingDebugging/CountersTrace.h"
#include "StateStream/SkinnedMeshStateStreamImpl.h"
#include "StateStream/StaticMeshStateStreamImpl.h"
#include "StateStream/ParticleSystemStateStreamImpl.h"
#include "StateStreamCreator.h"
#include "StateStreamManagerImpl.h"
#include "SceneCulling/SceneCulling.h"
#include "TransformStateStreamImpl.h"
#include "InstanceCulling/InstanceCullingOcclusionQuery.h"
#include "ComputeWorkerInterface.h"
#include "Nanite/NaniteMaterialsSceneExtension.h"
#include "Skinning/SkinningSceneExtension.h"
#include "ObjectCacheContext.h"
#include "Animation/AnimBank.h"
#include "Skinning/AnimBankTransformProvider.h"
#include "Skinning/SkinningTransformProvider.h"
#include "PathTracing.h"
#include "RHIGPUReadback.h"
#include "ShaderPrint.h"
#include "VirtualShadowMaps/VirtualShadowMapCacheManager.h"
#include "Shadows/ShadowScene.h"
#include "VariableRateShadingImageManager.h"
#include "Streaming/SimpleStreamableAssetManager.h"

Classes

struct  FSpeedTreeWindComputation
 
struct  FPrimitiveArraySortKey
 
struct  FSceneUpdateChangeSetStorage
 
class  FNULLSceneInterface
 

Macros

#define VALIDATE_PRIMITIVE_PACKED_INDEX   0
 
#define SET_SPEEDTREE_TABLE_FLOAT4V(name, offset)
 

Functions

 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer MotionBlurStartFrame"), STAT_FDeferredShadingSceneRenderer_MotionBlurStartFrame, STATGROUP_SceneRendering)
 
 IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT (FDistanceCullFadeUniformShaderParameters, "PrimitiveFade")
 
 IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT (FDitherUniformShaderParameters, "PrimitiveDither")
 
 TRACE_DECLARE_INT_COUNTER (ScenePrimitives, TEXT("Scene/Primitives"))
 
 TRACE_DECLARE_INT_COUNTER (ScenePrimitivesAdds, TEXT("Scene/Primitives/Adds"))
 
 TRACE_DECLARE_INT_COUNTER (ScenePrimitivesRemoves, TEXT("Scene/Primitives/Removes"))
 
 TRACE_DECLARE_INT_COUNTER (ScenePrimitivesUpdatesTransforms, TEXT("Scene/Primitives/Updates/Transforms"))
 
 TRACE_DECLARE_INT_COUNTER (ScenePrimitivesUpdatesInstances, TEXT("Scene/Primitives/Updates/Instances"))
 
 TRACE_DECLARE_INT_COUNTER (ScenePrimitivesArrayMax, TEXT("Scene/PrimitiveArrayMax"))
 
 TRACE_DECLARE_INT_COUNTER (SceneLights, TEXT("Scene/Lights"))
 
bool IncludePrimitiveInDistanceFieldSceneData (bool bTrackAllPrimitives, const FPrimitiveSceneProxy *Proxy)
 
UObjectToUObject (FPrimitiveSceneDesc *Desc)
 
UObjectToUObject (UPrimitiveComponent *Prim)
 
bool DoesPlatformNeedLocalLightPrimitiveInteraction (EShaderPlatform ShaderPlatform)
 
void UpdateReflectionSceneData (FScene *Scene)
 
void UpdateStaticMeshesForMaterials (const TArray< const FMaterial * > &MaterialResourcesToUpdate)
 

Variables

TAutoConsoleVariable< int32CVarEarlyZPass (TEXT("r.EarlyZPass"), 3, TEXT(" x: use built in heuristic (default is 3)"), ECVF_Scalability)
 
int32 GVisibilitySkipAlwaysVisible = 1
 
bool GSafeCullDistanceUpdate = true
 
TGlobalResource< FGlobalDistanceCullFadeUniformBufferGDistanceCullFadedInUniformBuffer
 
TGlobalResource< FGlobalDitherUniformBufferGDitherFadedInUniformBuffer
 
TSet< IPersistentViewUniformBufferExtension * > PersistentViewUniformBufferExtensions
 

Macro Definition Documentation

◆ SET_SPEEDTREE_TABLE_FLOAT4V

#define SET_SPEEDTREE_TABLE_FLOAT4V (   name,
  offset 
)
Value:
UniformParameters.name = *(FVector4f*)(WindShaderValues + FSpeedTreeWind::offset); \
UniformParameters.Prev##name = *(FVector4f*)(WindShaderValues + FSpeedTreeWind::offset + FSpeedTreeWind::NUM_SHADER_VALUES);
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ NUM_SHADER_VALUES
Definition SpeedTreeWind.h:137

◆ VALIDATE_PRIMITIVE_PACKED_INDEX

#define VALIDATE_PRIMITIVE_PACKED_INDEX   0

Function Documentation

◆ DECLARE_CYCLE_STAT()

DECLARE_CYCLE_STAT ( TEXT("DeferredShadingSceneRenderer MotionBlurStartFrame" ,
STAT_FDeferredShadingSceneRenderer_MotionBlurStartFrame  ,
STATGROUP_SceneRendering   
)

◆ DoesPlatformNeedLocalLightPrimitiveInteraction()

bool DoesPlatformNeedLocalLightPrimitiveInteraction ( EShaderPlatform  ShaderPlatform)

◆ IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT() [1/2]

IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT ( FDistanceCullFadeUniformShaderParameters  ,
"PrimitiveFade"   
)

◆ IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT() [2/2]

IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT ( FDitherUniformShaderParameters  ,
"PrimitiveDither"   
)

◆ IncludePrimitiveInDistanceFieldSceneData()

bool IncludePrimitiveInDistanceFieldSceneData ( bool  bTrackAllPrimitives,
const FPrimitiveSceneProxy Proxy 
)

◆ ToUObject() [1/2]

UObject * ToUObject ( FPrimitiveSceneDesc Desc)

◆ ToUObject() [2/2]

UObject * ToUObject ( UPrimitiveComponent *  Prim)

◆ TRACE_DECLARE_INT_COUNTER() [1/7]

TRACE_DECLARE_INT_COUNTER ( SceneLights  ,
TEXT("Scene/Lights"  
)

◆ TRACE_DECLARE_INT_COUNTER() [2/7]

TRACE_DECLARE_INT_COUNTER ( ScenePrimitives  ,
TEXT("Scene/Primitives"  
)

◆ TRACE_DECLARE_INT_COUNTER() [3/7]

TRACE_DECLARE_INT_COUNTER ( ScenePrimitivesAdds  ,
TEXT("Scene/Primitives/Adds"  
)

◆ TRACE_DECLARE_INT_COUNTER() [4/7]

TRACE_DECLARE_INT_COUNTER ( ScenePrimitivesArrayMax  ,
TEXT("Scene/PrimitiveArrayMax"  
)

◆ TRACE_DECLARE_INT_COUNTER() [5/7]

TRACE_DECLARE_INT_COUNTER ( ScenePrimitivesRemoves  ,
TEXT("Scene/Primitives/Removes"  
)

◆ TRACE_DECLARE_INT_COUNTER() [6/7]

TRACE_DECLARE_INT_COUNTER ( ScenePrimitivesUpdatesInstances  ,
TEXT("Scene/Primitives/Updates/Instances"  
)

◆ TRACE_DECLARE_INT_COUNTER() [7/7]

TRACE_DECLARE_INT_COUNTER ( ScenePrimitivesUpdatesTransforms  ,
TEXT("Scene/Primitives/Updates/Transforms"  
)

◆ UpdateReflectionSceneData()

void UpdateReflectionSceneData ( FScene Scene)

◆ UpdateStaticMeshesForMaterials()

void UpdateStaticMeshesForMaterials ( const TArray< const FMaterial * > &  MaterialResourcesToUpdate)

Variable Documentation

◆ CVarEarlyZPass

TAutoConsoleVariable< int32 > CVarEarlyZPass(TEXT("r.EarlyZPass"), 3, TEXT(" x: use built in heuristic (default is 3)"), ECVF_Scalability) ( TEXT("r.EarlyZPass")  ,
,
TEXT(" x: use built in heuristic (default is 3)")  ,
ECVF_Scalability   
)

◆ GDistanceCullFadedInUniformBuffer

TGlobalResource< FGlobalDistanceCullFadeUniformBuffer > GDistanceCullFadedInUniformBuffer

Global primitive uniform buffer resource containing distance cull faded in

◆ GDitherFadedInUniformBuffer

TGlobalResource< FGlobalDitherUniformBuffer > GDitherFadedInUniformBuffer

Global primitive uniform buffer resource containing dither faded in

◆ GSafeCullDistanceUpdate

bool GSafeCullDistanceUpdate = true

◆ GVisibilitySkipAlwaysVisible

int32 GVisibilitySkipAlwaysVisible = 1

◆ PersistentViewUniformBufferExtensions

TSet<IPersistentViewUniformBufferExtension*> PersistentViewUniformBufferExtensions