UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PrimitiveSceneProxyDesc.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "UObject/Package.h"
8#include "Engine/Level.h"
10
12{
14 ENGINE_API FPrimitiveSceneProxyDesc(const UPrimitiveComponent*);
16
17 ENGINE_API void InitializeFromPrimitiveComponent(const UPrimitiveComponent*);
18
19 UObject* Component = nullptr;
20 UObject* Owner = nullptr;
21 UWorld* World = nullptr;
22
24
25 // Only used by actors for now, explicitly intended to be moved to the FPrimitiveSceneProxy
30
32
34
36
80
81 // not mirrored from UPrimitiveComponent
99#if WITH_EDITOR
101#endif
102
106
108 ERayTracingGroupCullingPriority RayTracingGroupCullingPriority = ERayTracingGroupCullingPriority::CP_4_DEFAULT;
110
115
117 ERendererStencilMask CustomDepthStencilWriteMask = ERendererStencilMask::ERSM_Default;
118 ERuntimeVirtualTextureMainPassType VirtualTextureRenderPassType = ERuntimeVirtualTextureMainPassType::Exclusive;
121
124
128 float MinDrawDistance = 0.0f;
129 float BoundsScale = 1.0f;
131
133
134#if MESH_DRAW_COMMAND_STATS
136#endif
137
138#if WITH_EDITOR
140#endif
141
142 bool IsVisible() const
143 {
144 return bIsVisible;
145 }
146
147 bool IsVisibleEditor() const
148 {
149 return bIsVisibleEditor;
150 }
151
153 {
155 }
156
158 {
160 }
161
166
167 bool HasStaticLighting() const
168 {
169 return bHasStaticLighting;
170 }
171
173 {
174 return bCollisionEnabled;
175 }
176
178 {
179 return false;
180 }
181
186
188 {
189 return bShadowIndirectOnly;
190 }
191
193 {
195 }
196
197 bool IsHidden() const
198 {
199 return bIsHidden;
200 }
201
202 bool IsOwnerEditorOnly() const
203 {
204 return bIsOwnerEditorOnly;
205 }
206
211
216
221
223 {
224 return RayTracingGroupId;
225 }
226
228 {
229 return Scene;
230 }
231
237
242
247
252
254 {
256 }
257
259 {
260 return StatId;
261 }
262
267
269 {
270 check(World);
271 return World;
272 }
273
278
280 {
281 return Owner;
282 }
283
284 template<class T>
285 T* GetOwner() const
286 {
287 return Cast<T>(GetOwner());
288 }
289
291 {
292 return Owner ? Owner->GetTypedOuter<ULevel>() : nullptr;
293 }
294
295 FString GetPathName() const
296 {
297 return Component->GetPathName();
298 }
299
300#if WITH_EDITOR
301 bool IsHiddenEd() const
302 {
303 return bIsHiddenEd;
304 }
305
307 {
308 return HiddenEditorViews;
309 }
310
311 bool IsOwnedByFoliage() const
312 {
313 return bIsOwnedByFoliage;
314 }
315#endif
316
317#if MESH_DRAW_COMMAND_STATS
322#endif
323
325
326 UE_DEPRECATED(5.6, "Use FPrimitiveSceneProxyDesc::IsFirstPersonRelevant() instead.")
331
332 UE_DEPRECATED(5.6, "Use GetLevel instead.")
334 {
335 return GetLevel();
336 }
337};
#define check(expr)
Definition AssertionMacros.h:314
@ ForceInitToZero
Definition CoreMiscDefines.h:156
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ELightmapType
Definition EngineTypes.h:210
ESceneDepthPriorityGroup
Definition EngineTypes.h:187
@ SDPG_World
Definition EngineTypes.h:189
@ ILCQ_Point
Definition EngineTypes.h:202
const bool
Definition NetworkReplayStreaming.h:178
ERendererStencilMask
Definition PrimitiveComponent.h:103
ERayTracingGroupCullingPriority
Definition PrimitiveComponent.h:119
ERuntimeVirtualTextureMainPassType
Definition RuntimeVirtualTextureEnum.h:58
EShadowCacheInvalidationBehavior
Definition SceneTypes.h:219
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition NameTypes.h:617
Definition PrimitiveComponentId.h:12
static constexpr int32 InvalidRayTracingGroupId
Definition PrimitiveSceneProxy.h:889
Definition SceneInterface.h:106
Definition ComponentInterfaces.h:59
Definition ArrayView.h:139
Definition Array.h:670
Definition EnumAsByte.h:22
Definition Level.h:423
COREUOBJECT_API FString GetPathName(const UObject *StopOuter=NULL) const
Definition UObjectBaseUtility.cpp:38
COREUOBJECT_API UObject * GetTypedOuter(UClass *Target) const
Definition UObjectBaseUtility.cpp:308
Definition Object.h:95
Definition World.h:918
@ Movable
Definition EngineTypes.h:3812
Type
Definition RHIFeatureLevel.h:20
Definition Color.h:486
Definition SceneTypes.h:30
Definition EngineTypes.h:562
Definition PrimitiveSceneProxyDesc.h:12
int32 VirtualTextureCullMips
Definition PrimitiveSceneProxyDesc.h:122
uint32 bCastShadowAsTwoSided
Definition PrimitiveSceneProxyDesc.h:58
uint32 bHiddenInSceneCapture
Definition PrimitiveSceneProxyDesc.h:73
int8 VirtualTextureMinCoverage
Definition PrimitiveSceneProxyDesc.h:120
float MinDrawDistance
Definition PrimitiveSceneProxyDesc.h:128
ESceneDepthPriorityGroup GetStaticDepthPriorityGroup() const
Definition PrimitiveSceneProxyDesc.h:162
uint32 bAffectDistanceFieldLighting
Definition PrimitiveSceneProxyDesc.h:54
uint32 bOnlyOwnerSee
Definition PrimitiveSceneProxyDesc.h:39
bool IsComponentIndividuallySelected() const
Definition PrimitiveSceneProxyDesc.h:157
uint32 bCastDynamicShadow
Definition PrimitiveSceneProxyDesc.h:49
virtual ENGINE_API ~FPrimitiveSceneProxyDesc()
FLightingChannels LightingChannels
Definition PrimitiveSceneProxyDesc.h:107
bool IsVisible() const
Definition PrimitiveSceneProxyDesc.h:142
uint32 bIsVisible
Definition PrimitiveSceneProxyDesc.h:82
const FCustomPrimitiveData & GetCustomPrimitiveData() const
Definition PrimitiveSceneProxyDesc.h:232
uint32 bVisibleInRayTracing
Definition PrimitiveSceneProxyDesc.h:45
uint32 bVisibleInRealTimeSkyCaptures
Definition PrimitiveSceneProxyDesc.h:44
bool ShouldRenderSelected() const
Definition PrimitiveSceneProxyDesc.h:152
uint32 bHoldout
Definition PrimitiveSceneProxyDesc.h:76
uint32 bCastInsetShadow
Definition PrimitiveSceneProxyDesc.h:60
TEnumAsByte< EIndirectLightingCacheQuality > IndirectLightingCacheQuality
Definition PrimitiveSceneProxyDesc.h:113
TEnumAsByte< ESceneDepthPriorityGroup > DepthPriorityGroup
Definition PrimitiveSceneProxyDesc.h:114
float GetVirtualTextureMainPassMaxDrawDistance() const
Definition PrimitiveSceneProxyDesc.h:248
uint32 bWantsEditorEffects
Definition PrimitiveSceneProxyDesc.h:87
uint32 bForceMipStreaming
Definition PrimitiveSceneProxyDesc.h:74
uint32 bTreatAsBackgroundForOcclusion
Definition PrimitiveSceneProxyDesc.h:48
FString GetPathName() const
Definition PrimitiveSceneProxyDesc.h:295
ULevel * GetLevel() const
Definition PrimitiveSceneProxyDesc.h:290
IPrimitiveComponent * PrimitiveComponentInterface
Definition PrimitiveSceneProxyDesc.h:29
FPrimitiveComponentId ComponentId
Definition PrimitiveSceneProxyDesc.h:125
uint32 bRenderInDepthPass
Definition PrimitiveSceneProxyDesc.h:46
uint32 bIsHiddenEd
Definition PrimitiveSceneProxyDesc.h:90
ERayTracingGroupCullingPriority RayTracingGroupCullingPriority
Definition PrimitiveSceneProxyDesc.h:108
uint32 bIsHidden
Definition PrimitiveSceneProxyDesc.h:89
int32 RayTracingGroupId
Definition PrimitiveSceneProxyDesc.h:130
uint32 bCastFarShadow
Definition PrimitiveSceneProxyDesc.h:62
uint32 bRenderInMainPass
Definition PrimitiveSceneProxyDesc.h:47
FName MeshDrawCommandStatsCategory
Definition PrimitiveSceneProxyDesc.h:135
uint32 bCollisionEnabled
Definition PrimitiveSceneProxyDesc.h:88
uint32 bCastStaticShadow
Definition PrimitiveSceneProxyDesc.h:50
uint32 bCastHiddenShadow
Definition PrimitiveSceneProxyDesc.h:57
uint32 bEmissiveLightSource
Definition PrimitiveSceneProxyDesc.h:51
int8 VirtualTextureLodBias
Definition PrimitiveSceneProxyDesc.h:119
UObject * Component
Definition PrimitiveSceneProxyDesc.h:19
bool IsStaticMeshFirstPersonRelevant() const
Definition PrimitiveSceneProxyDesc.h:327
int32 TranslucencySortPriority
Definition PrimitiveSceneProxyDesc.h:103
virtual ENGINE_API void GetUsedMaterials(TArray< UMaterialInterface * > &OutMaterials, bool bGetDebugMaterials=false) const
Definition PrimitiveSceneProxyDesc.cpp:225
uint32 bCastCinematicShadow
Definition PrimitiveSceneProxyDesc.h:61
uint32 bIsInstancedStaticMesh
Definition PrimitiveSceneProxyDesc.h:93
TStatId GetStatID(bool bForDeferredUse=false) const
Definition PrimitiveSceneProxyDesc.h:258
ELightmapType LightmapType
Definition PrimitiveSceneProxyDesc.h:116
bool HasValidSettingsForStaticLighting() const
Definition PrimitiveSceneProxyDesc.h:182
uint32 bHasStaticLighting
Definition PrimitiveSceneProxyDesc.h:94
FSceneInterface * Scene
Definition PrimitiveSceneProxyDesc.h:28
FSceneInterface * GetScene() const
Definition PrimitiveSceneProxyDesc.h:227
const UObject * AdditionalStatObject() const
Definition PrimitiveSceneProxyDesc.h:253
int32 GetRayTracingGroupId() const
Definition PrimitiveSceneProxyDesc.h:222
UObject * Owner
Definition PrimitiveSceneProxyDesc.h:20
uint32 bCastVolumetricTranslucentShadow
Definition PrimitiveSceneProxyDesc.h:55
EShadowCacheInvalidationBehavior ShadowCacheInvalidationBehavior
Definition PrimitiveSceneProxyDesc.h:109
uint32 bIndividuallySelected
Definition PrimitiveSceneProxyDesc.h:85
FPrimitiveComponentId GetPrimitiveSceneId() const
Definition PrimitiveSceneProxyDesc.h:274
TArrayView< URuntimeVirtualTexture * > RuntimeVirtualTextures
Definition PrimitiveSceneProxyDesc.h:23
ENGINE_API FPrimitiveSceneProxyDesc()
Definition PrimitiveSceneProxyDesc.cpp:11
uint32 bIsVisibleEditor
Definition PrimitiveSceneProxyDesc.h:83
uint32 bUseEditorCompositing
Definition PrimitiveSceneProxyDesc.h:68
const FCustomPrimitiveData * CustomPrimitiveData
Definition PrimitiveSceneProxyDesc.h:27
uint32 bUseViewOwnerDepthPriorityGroup
Definition PrimitiveSceneProxyDesc.h:42
uint32 bIsPrecomputedLightingValid
Definition PrimitiveSceneProxyDesc.h:96
bool IsFirstPersonRelevant() const
Definition PrimitiveSceneProxyDesc.h:217
bool HasStaticLighting() const
Definition PrimitiveSceneProxyDesc.h:167
uint32 bShouldRenderSelected
Definition PrimitiveSceneProxyDesc.h:86
TStatId StatId
Definition PrimitiveSceneProxyDesc.h:35
bool SupportsWorldPositionOffsetVelocity() const
Definition PrimitiveSceneProxyDesc.h:212
bool IsOwnerEditorOnly() const
Definition PrimitiveSceneProxyDesc.h:202
TEnumAsByte< ESceneDepthPriorityGroup > ViewOwnerDepthPriorityGroup
Definition PrimitiveSceneProxyDesc.h:111
float CachedMaxDrawDistance
Definition PrimitiveSceneProxyDesc.h:127
uint32 bSelected
Definition PrimitiveSceneProxyDesc.h:84
T * GetOwner() const
Definition PrimitiveSceneProxyDesc.h:285
uint32 bRayTracingFarField
Definition PrimitiveSceneProxyDesc.h:75
TEnumAsByte< EComponentMobility::Type > Mobility
Definition PrimitiveSceneProxyDesc.h:112
bool IsPrecomputedLightingValid() const
Definition PrimitiveSceneProxyDesc.h:177
uint32 bAffectIndirectLightingWhileHidden
Definition PrimitiveSceneProxyDesc.h:53
uint32 bSupportsWorldPositionOffsetVelocity
Definition PrimitiveSceneProxyDesc.h:91
TArray< uint32 > ActorOwners
Definition PrimitiveSceneProxyDesc.h:26
IPrimitiveComponent * GetPrimitiveComponentInterface() const
Definition PrimitiveSceneProxyDesc.h:263
ULevel * GetComponentLevel() const
Definition PrimitiveSceneProxyDesc.h:333
uint32 bLumenHeightfield
Definition PrimitiveSceneProxyDesc.h:79
bool IsCollisionEnabled() const
Definition PrimitiveSceneProxyDesc.h:172
uint32 bAffectDynamicIndirectLighting
Definition PrimitiveSceneProxyDesc.h:52
bool ShouldRenderProxyFallbackToDefaultMaterial() const
Definition PrimitiveSceneProxyDesc.h:207
bool GetLevelInstanceEditingState() const
Definition PrimitiveSceneProxyDesc.h:192
bool IsHidden() const
Definition PrimitiveSceneProxyDesc.h:197
float VirtualTextureMainPassMaxDrawDistance
Definition PrimitiveSceneProxyDesc.h:123
uint32 bIsFirstPersonWorldSpaceRepresentation
Definition PrimitiveSceneProxyDesc.h:78
TArrayView< URuntimeVirtualTexture * > GetRuntimeVirtualTextures() const
Definition PrimitiveSceneProxyDesc.h:238
uint32 bOwnerNoSee
Definition PrimitiveSceneProxyDesc.h:40
UObject * GetOwner() const
Definition PrimitiveSceneProxyDesc.h:279
UWorld * World
Definition PrimitiveSceneProxyDesc.h:21
ERuntimeVirtualTextureMainPassType VirtualTextureRenderPassType
Definition PrimitiveSceneProxyDesc.h:118
uint32 bSelfShadowOnly
Definition PrimitiveSceneProxyDesc.h:59
uint32 bIsOwnerEditorOnly
Definition PrimitiveSceneProxyDesc.h:92
uint32 bShouldRenderProxyFallbackToDefaultMaterial
Definition PrimitiveSceneProxyDesc.h:98
uint32 bReceivesDecals
Definition PrimitiveSceneProxyDesc.h:38
uint32 bLightAttachmentsAsGroup
Definition PrimitiveSceneProxyDesc.h:63
uint32 CastShadow
Definition PrimitiveSceneProxyDesc.h:37
ERHIFeatureLevel::Type FeatureLevel
Definition PrimitiveSceneProxyDesc.h:132
float BoundsScale
Definition PrimitiveSceneProxyDesc.h:129
uint32 bUseAsOccluder
Definition PrimitiveSceneProxyDesc.h:65
ERuntimeVirtualTextureMainPassType GetVirtualTextureRenderPassType() const
Definition PrimitiveSceneProxyDesc.h:243
uint32 bShadowIndirectOnly
Definition PrimitiveSceneProxyDesc.h:97
uint32 bCastContactShadow
Definition PrimitiveSceneProxyDesc.h:56
uint32 bVisibleInReflectionCaptures
Definition PrimitiveSceneProxyDesc.h:43
const UObject * AdditionalStatObjectPtr
Definition PrimitiveSceneProxyDesc.h:31
UWorld * GetWorld() const
Definition PrimitiveSceneProxyDesc.h:268
int32 VisibilityId
Definition PrimitiveSceneProxyDesc.h:126
FName GetMeshDrawCommandStatsCategory() const
Definition PrimitiveSceneProxyDesc.h:318
uint32 bSingleSampleShadowFromStationaryLights
Definition PrimitiveSceneProxyDesc.h:64
uint64 HiddenEditorViews
Definition PrimitiveSceneProxyDesc.h:33
uint32 bRenderCustomDepth
Definition PrimitiveSceneProxyDesc.h:71
float TranslucencySortDistanceOffset
Definition PrimitiveSceneProxyDesc.h:104
uint32 bHasPerInstanceHitProxies
Definition PrimitiveSceneProxyDesc.h:67
ENGINE_API void InitializeFromPrimitiveComponent(const UPrimitiveComponent *)
Definition PrimitiveSceneProxyDesc.cpp:82
uint32 bHasValidSettingsForStaticLighting
Definition PrimitiveSceneProxyDesc.h:95
uint32 bIsFirstPerson
Definition PrimitiveSceneProxyDesc.h:77
bool IsVisibleEditor() const
Definition PrimitiveSceneProxyDesc.h:147
bool GetShadowIndirectOnly() const
Definition PrimitiveSceneProxyDesc.h:187
uint32 bReceiveMobileCSMShadows
Definition PrimitiveSceneProxyDesc.h:70
uint32 bSelectable
Definition PrimitiveSceneProxyDesc.h:66
uint32 bLevelInstanceEditingState
Definition PrimitiveSceneProxyDesc.h:41
uint32 bVisibleInSceneCaptureOnly
Definition PrimitiveSceneProxyDesc.h:72
uint32 bIsBeingMovedByEditor
Definition PrimitiveSceneProxyDesc.h:69
ERendererStencilMask CustomDepthStencilWriteMask
Definition PrimitiveSceneProxyDesc.h:117
int32 CustomDepthStencilValue
Definition PrimitiveSceneProxyDesc.h:105
Definition LightweightStats.h:416