UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PrimitiveSceneProxy.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 PrimitiveSceneProxy.h: Primitive scene proxy definition.
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
10#include "RendererInterface.h"
11#include "SceneViewOwner.h"
12#include "Stats/Stats.h"
13#include "Misc/MemStack.h"
15#include "SceneTypes.h"
16#include "Engine/Scene.h"
17#include "UniformBuffer.h"
19#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
21#endif
22#include "DrawDebugHelpers.h"
23#include "Math/CapsuleShape.h"
24#include "SceneDefinitions.h"
26#include "InstanceDataTypes.h"
27#include "PSOPrecacheFwd.h"
28
29class FLightSceneInfo;
35class HHitProxy;
36class UPrimitiveComponent;
38class UTexture2D;
40struct FMeshBatch;
43class FVertexFactory;
48struct FEngineShowFlags;
49struct FRenderTransform;
50struct FRenderBounds;
52
53namespace Nanite
54{
56}
57
58#if RHI_RAYTRACING
59namespace RayTracing
60{
62 using GeometryGroupHandle UE_DEPRECATED(5.6, "Use FGeometryGroupHandle instead.") = FGeometryGroupHandle;
63}
64#endif
65
67{
68 enum class EType : uint8
69 {
70 // LOD is the first in a set of LODs that can be selected from.
71 First,
72
73 // LOD is fixed to a pre-selected level.
74 Fixed
75 };
76
81
86
91
92 bool IsFixed() const { return Type == EType::Fixed; }
93 bool IsFirst() const { return Type == EType::First; }
94
97};
98
128
130{
131 return GetTypeHash(In.Packed);
132}
133
150
153{
154public:
156};
157
169
172{
173public:
180
181public:
182
189 inline const FSimpleLightPerViewEntry& GetViewDependentData(int32 LightIndex, int32 ViewIndex, int32 NumViews) const
190 {
191 // If InstanceData has an equal number of elements to PerViewData then all views share the same PerViewData.
192 if (InstanceData.Num() == PerViewData.Num())
193 {
195 return PerViewData[LightIndex];
196 }
197 else
198 {
200
201 // Calculate per-view index.
203 const int32 PerViewDataIndex = PerViewIndex.PerViewIndex + ( PerViewIndex.bHasPerViewData ? ViewIndex : 0 );
205 }
206 }
207};
208
230
234
236{
237 None = 0,
238
239 // Visibility flags:
240
241 // This type of geometry is not supported in ray tracing and all proxies will be excluded
242 // If a proxy decides to return UnsupportedProxyType it must be consistent across all proxies of this type
243 // This value is used for primitives that return false from FPrimitiveSceneProxy::IsRayTracingRelevant().
244 UnsupportedProxyType = 1 << 0,
245
246 // This scene proxy will be excluded, because it decides to be invisible in ray tracing (probably due to other flags)
247 // Excluded proxies will skip visibility checks
248 Exclude = 1 << 1,
249
250 // Similar to Exclude however scene proxy will still go through culling and run relevant logic when it is deemed visible
251 Skip = 1 << 2,
252
253 // Caching flags:
254
255 // Fully dynamic (the ray tracing representation of this scene proxy will be polled every frame)
256 // Ray tracing mesh commands generated from this proxy's materials can be cached
257 // (not compatible with CacheInstances or ComputeLOD)
258 Dynamic = 1 << 3,
259 // Instances from this proxy can be cached
260 // (not compatible with Dynamic or ComputeLOD)
261 CacheInstances = 1 << 4,
262
263 // Misc flags:
264
265 // Static meshes with multiple LODs will want to select a LOD index based on screen size
266 // (not compatible with Dynamic or CacheInstances)
267 ComputeLOD = 1 << 5,
268
269 // Primitive is masked as a far field object
270 FarField = 1 << 6,
271
272 // Raytracing data is streamable (TODO: support in dynamic path)
273 Streaming = 1 << 7,
274};
276
290
296{
297public:
298
300 ENGINE_API FPrimitiveSceneProxy(const UPrimitiveComponent* InComponent, FName ResourceName = NAME_None);
302
305
308
310 virtual SIZE_T GetTypeHash() const = 0;
311
319
326
332 void SetHovered_GameThread(const bool bInHovered);
333
338
343
344#if WITH_EDITOR
349
354
359
363 void SetOverlayColor_GameThread(FColor OverlayColor);
364#endif // WITH_EDITOR
365
366#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
371#endif
372
375
378
380
381 virtual void SetInstanceCullDistance_RenderThread(float StartCullDistance, float EndCullDistance) {}
382
384 ENGINE_API bool IsShown(const FSceneView* View) const;
385
387 ENGINE_API bool IsShadowCast(const FSceneView* View) const;
388
390 ENGINE_API void RenderBounds(FPrimitiveDrawInterface* PDI, const FEngineShowFlags& EngineShowFlags, const FBoxSphereBounds& Bounds, bool bRenderInEditor) const;
391
393 ENGINE_API bool VerifyUsedMaterial(const class FMaterialRenderProxy* MaterialRenderProxy) const;
394
396 virtual int32 GetLOD(const FSceneView* View) const { return INDEX_NONE; }
397
398
399
400
401
421
429
430#if WITH_EDITOR
437 virtual const FColorVertexBuffer* GetCustomHitProxyIdBuffer() const { return nullptr; }
438#endif
445
448
450 virtual void GetShadowShapes(FVector PreViewTranslation, TArray<FCapsuleShape3f>& OutCapsuleShapes) const {}
451
452 virtual bool IsCullingReversedByComponent() const { return false; }
453
454#if RHI_RAYTRACING
455 // TODO: remove these individual functions in favor of ERayTracingPrimitiveFlags
456 virtual bool IsRayTracingRelevant() const { return false; }
457 virtual bool IsRayTracingStaticRelevant() const { return false; }
458
460 virtual bool HasRayTracingRepresentation() const { return false; }
461
463 virtual void GetDynamicRayTracingInstances(class FRayTracingInstanceCollector& Collector) {}
464
466
472
477
480
483#endif // RHI_RAYTRACING
484
487 virtual bool CanApplyStreamableRenderAssetScaleFactor() const { return false; }
488 bool IsForceMipStreaming() const { return bForceMipStreaming; }
489
502 virtual void GetDynamicMeshElements(const TArray<const FSceneView*>& Views, const FSceneViewFamily& ViewFamily, uint32 VisibilityMap, class FMeshElementCollector& Collector) const {}
503
504 virtual const class FCardRepresentationData* GetMeshCardRepresentation() const { return nullptr; }
505
513
519 virtual const TArray<FBoxSphereBounds>* GetOcclusionQueries(const FSceneView* View) const
520 {
521 return nullptr;
522 }
523
530 virtual void AcceptOcclusionResults(const FSceneView* View, TArray<bool>* Results, int32 ResultsStart, int32 NumResults) {}
531
539
542
550 virtual void GetLightRelevance(const FLightSceneProxy* LightSceneProxy, bool& bDynamic, bool& bRelevant, bool& bLightMapped, bool& bShadowMapped) const
551 {
552 // Determine the lights relevance to the primitive.
553 bDynamic = true;
554 bRelevant = true;
555 bLightMapped = false;
556 bShadowMapped = false;
557 }
558
560 {
561 OutDistanceFieldData = nullptr;
562 SelfShadowBias = 0;
563 }
564 UE_DEPRECATED(5.4, "Use generic instance data through GetInstanceSceneDataBuffers().")
568
569 virtual bool HeightfieldHasPendingStreaming() const { return false; }
570
571 virtual bool StaticMeshHasPendingStreaming() const { return false; }
572
578
580
587
594
601 {
602 }
603
608 virtual void OnTransformChanged(FRHICommandListBase& RHICmdList) { }
609
613 virtual bool CanBeOccluded() const
614 {
615 return true;
616 }
617
623 {
624 return false;
625 }
626
634
642
646 virtual bool IsUsingDistanceCullFade() const
647 {
648 return false;
649 }
650
655 {
656 return false;
657 }
658
659 virtual bool ShowInBSPSplitViewmode() const
660 {
661 return false;
662 }
663
669 {
671 return (ESceneDepthPriorityGroup)StaticDepthPriorityGroup;
672 }
673
681
683 virtual uint32 GetMemoryFootprint( void ) const = 0;
684 SIZE_T GetAllocatedSize( void ) const { return( Owners.GetAllocatedSize() ); }
685
692
699
706
713
720
727
729
731
732 // Accessors.
733 inline FSceneInterface& GetScene() const { return *Scene; }
734 inline FPrimitiveComponentId GetPrimitiveComponentId() const { return PrimitiveComponentId; }
735 inline FPrimitiveSceneInfo* GetPrimitiveSceneInfo() const { return PrimitiveSceneInfo; }
736 inline const FMatrix& GetLocalToWorld() const { return LocalToWorld; }
737 inline bool IsLocalToWorldDeterminantNegative() const { return bIsLocalToWorldDeterminantNegative; }
738 inline const FBoxSphereBounds& GetBounds() const { return Bounds; }
739 inline const FBoxSphereBounds& GetLocalBounds() const { return LocalBounds; }
741 inline FName GetOwnerName() const { return OwnerName; }
742 inline FName GetResourceName() const { return ResourceName; }
743 inline FName GetLevelName() const { return LevelName; }
744 inline TStatId GetStatId() const
745 {
746 return StatId;
747 }
748 inline float GetMinDrawDistance() const { return MinDrawDistance; }
749 inline float GetMaxDrawDistance() const { return MaxDrawDistance; }
750 inline int32 GetVisibilityId() const { return VisibilityId; }
751 inline int16 GetTranslucencySortPriority() const { return TranslucencySortPriority; }
752 inline float GetTranslucencySortDistanceOffset() const { return TranslucencySortDistanceOffset; }
753
758
759 inline bool IsMovable() const
760 {
761 // Note: primitives with EComponentMobility::Stationary can still move (as opposed to lights with EComponentMobility::Stationary)
762 return Mobility == EComponentMobility::Movable || Mobility == EComponentMobility::Stationary;
763 }
764
765 inline bool IsOftenMoving() const { return Mobility == EComponentMobility::Movable; }
766
767 inline bool IsMeshShapeOftenMoving() const
768 {
770 }
771
772 inline ELightmapType GetLightmapType() const { return LightmapType; }
773 inline bool IsStatic() const { return Mobility == EComponentMobility::Static; }
774 inline bool IsSelectable() const { return bSelectable; }
775 inline bool IsParentSelected() const { return bParentSelected; }
776 inline bool IsIndividuallySelected() const { return bIndividuallySelected; }
777 inline bool IsEditingLevelInstanceChild() const { return bLevelInstanceEditingState; }
778 inline bool IsSelected() const { return IsParentSelected() || IsIndividuallySelected(); }
779 inline bool WantsEditorEffects() const { return bWantsEditorEffects; }
780 inline bool WantsSelectionOutline() const { return bWantsSelectionOutline; }
782 inline bool IsVisibleInSceneCaptureOnly() const { return bVisibleInSceneCaptureOnly; }
783 inline bool IsHiddenInSceneCapture() const { return bHiddenInSceneCapture; }
784 inline uint8 GetCustomDepthStencilValue() const { return CustomDepthStencilValue; }
785 inline EStencilMask GetStencilWriteMask() const { return CustomDepthStencilWriteMask; }
786 inline uint8 GetLightingChannelMask() const { return LightingChannelMask; }
788 {
789 // Flip the default channel bit so that the default value is 0, to align with the default stencil clear value and GBlackTexture value
790 return (LightingChannelMask & 0x6) | (~LightingChannelMask & 0x1);
791 }
792 inline bool IsVisibleInReflectionCaptures() const { return bVisibleInReflectionCaptures; }
793 inline bool IsVisibleInRealTimeSkyCaptures() const { return bVisibleInRealTimeSkyCaptures; }
794 inline bool IsVisibleInRayTracing() const { return bVisibleInRayTracing; }
795 inline bool IsVisibleInLumenScene() const { return bVisibleInLumenScene; }
796 inline bool IsOpaqueOrMasked() const { return bOpaqueOrMasked; }
797 inline bool SupportsMaterialCache() const { return bSupportsMaterialCache; }
798 inline bool ShouldRenderInMainPass() const { return bRenderInMainPass; }
799 inline bool ShouldRenderInDepthPass() const { return bRenderInMainPass || bRenderInDepthPass; }
800 inline bool SupportsParallelGDME() const { return bSupportsParallelGDME; }
801 inline bool SinglePassGDME() const { return bSinglePassGDME; }
802 inline bool SupportsParallelGDRTI() const { return bSupportsParallelGDRTI; }
803 inline bool IsCollisionEnabled() const { return bCollisionEnabled; }
804 inline bool IsHovered() const { return bHovered; }
805 inline bool IsOwnedBy(const FSceneViewOwner& Owner) const { return Owner.IsPartOf(Owners); }
806 inline bool HasViewDependentDPG() const { return bUseViewOwnerDepthPriorityGroup; }
807 inline bool HasStaticLighting() const { return bStaticLighting; }
809 inline bool CastsStaticShadow() const { return bCastStaticShadow; }
810 inline bool CastsDynamicShadow() const { return bCastDynamicShadow; }
811 inline bool IsEmissiveLightSource() const { return bEmissiveLightSource; }
813 UE_DEPRECATED(5.6, "Use GetRuntimeVirtualTextureIds() instead.")
820 inline bool CastsContactShadow() const { return bCastContactShadow; }
821 inline bool CastsDeepShadow() const { return bCastDeepShadow; }
825 inline bool CastsHiddenShadow() const { return bCastHiddenShadow; }
826 inline bool CastsShadowAsTwoSided() const { return bCastShadowAsTwoSided; }
827 inline bool CastsSelfShadowOnly() const { return bSelfShadowOnly; }
828 inline bool CastsInsetShadow() const { return bCastInsetShadow; }
829 inline bool CastsCinematicShadow() const { return bCastCinematicShadow; }
830 inline bool CastsFarShadow() const { return bCastFarShadow; }
831 inline bool LightAttachmentsAsGroup() const { return bLightAttachmentsAsGroup; }
835
838
845
846 inline bool ShouldUseAsOccluder() const { return bUseAsOccluder; }
848 inline bool Holdout() const { return bHoldout; }
849 inline bool IsSplineMesh() const { return bSplineMesh; }
850 inline bool IsSkinnedMesh() const { return bSkinnedMesh; }
851 inline bool IsFirstPerson() const { return bIsFirstPerson; }
853 inline bool IsOwnerNoSee() const { return bOwnerNoSee; }
854 inline bool IsOnlyOwnerSee() const { return bOnlyOwnerSee; }
855
857 {
858 return UniformBuffer.GetReference();
859 }
860
861 inline bool HasPerInstanceHitProxies() const { return bHasPerInstanceHitProxies; }
862
863#if WITH_EDITOR
864 inline uint8 GetSelectionOutlineColorIndex() const { return SelectionOutlineColorIndex; }
865 inline FColor GetOverlayColor() const { return OverlayColor; }
866#endif // WITH_EDITOR
867
868 ENGINE_API bool UseEditorCompositing(const FSceneView* View) const;
869 inline const FVector& GetActorPosition() const { return ActorPosition; }
870 inline const bool ReceivesDecals() const { return bReceivesDecals; }
871 inline bool WillEverBeLit() const { return bWillEverBeLit; }
875 inline bool IsLumenHeightfield() const { return bLumenHeightfield; }
876 inline bool IsLandscapeProxy() const { return bIsLandscapeProxy; }
877 inline bool IsLandscapeNaniteProxy() const { return bIsLandscapeNaniteProxy; }
879 inline bool SupportsInstanceDataBuffer() const { return InstanceSceneDataBuffersInternal != nullptr; }
880 inline bool SupportsSortedTriangles() const { return bSupportsSortedTriangles; }
881 inline bool TreatAsBackgroundForOcclusion() const { return bTreatAsBackgroundForOcclusion; }
883 inline bool IsForceHidden() const {return bForceHidden;}
884 inline bool ShouldReceiveMobileCSMShadows() const { return bReceiveMobileCSMShadows; }
885 inline bool IsRayTracingFarField() const { return bRayTracingFarField; }
886 inline int32 GetRayTracingGroupId() const { return RayTracingGroupId; }
887 inline uint8 GetRayTracingGroupCullingPriority() const { return RayTracingGroupCullingPriority; }
888
889 static constexpr int32 InvalidRayTracingGroupId = -1;
890
898 {
901 {
902 return MaxWPOExtent;
903 }
904 return 0.0f;
905 }
906
908 {
910 }
911
912 inline float GetAbsMaxDisplacement() const
913 {
914 // TODO: DISP - Fix me
917 }
918
920 inline bool HasDynamicTransform() const { return IsMovable() || bIsBeingMovedByEditor; }
925
926#if WITH_EDITOR
927 inline int32 GetNumUncachedStaticLightingInteractions() { return NumUncachedStaticLightingInteractions; }
928
931#endif
932
933#if !UE_BUILD_TEST
934 inline FLinearColor GetWireframeColor() const { return WireframeColor; }
935 inline FLinearColor GetPrimitiveColor() const { return PrimitiveColor; }
936 inline void SetWireframeColor(const FLinearColor& InWireframeColor) { WireframeColor = InWireframeColor; }
937 inline void SetPrimitiveColor(const FLinearColor& InPrimitiveColor) { PrimitiveColor = InPrimitiveColor; }
938#else
939 inline FLinearColor GetWireframeColor() const { return FLinearColor::White; }
940 inline FLinearColor GetPrimitiveColor() const { return FLinearColor::White; }
941 inline void SetWireframeColor(const FLinearColor& InWireframeColor) {}
942 inline void SetPrimitiveColor(const FLinearColor& InPrimitiveColor) {}
943#endif
944
949 virtual bool IsDetailMesh() const
950 {
951 return false;
952 }
953
955 {
956 return nullptr;
957 }
958
962 inline bool IsNaniteMesh() const
963 {
964 return bIsNaniteMesh;
965 }
966
970 inline bool IsAlwaysVisible() const
971 {
972 return bIsAlwaysVisible;
973 }
974
978 inline bool IsHeterogeneousVolume() const
979 {
981 }
982
986 inline bool SupportsGPUScene() const
987 {
988 return bSupportsGPUScene;
989 }
990
995 inline bool HasDeformableMesh() const
996 {
997 return bHasDeformableMesh;
998 }
999
1005 virtual bool HasCustomOcclusionBounds() const
1006 {
1007 return false;
1008 }
1009
1016 {
1017 checkf(false, TEXT("GetCustomOcclusionBounds> Should not be called on base scene proxy!"));
1018 return GetBounds();
1019 }
1020
1022 {
1023 return false;
1024 }
1025
1027 {
1028 return false;
1029 }
1030
1038 {
1040 return false;
1041 }
1042
1050 {
1051 OutWPODisableDistance = 0.0f;
1052 return false;
1053 }
1054
1055 UE_DEPRECATED(5.6, "This interface will be removed in a future release. Use Nanite::FSceneProxyBase::GetResourcePrimitiveInfo instead.")
1056 virtual void GetNaniteResourceInfo(uint32& ResourceID, uint32& HierarchyOffset, uint32& ImposterIndex) const
1057 {
1058 ResourceID = INDEX_NONE;
1059 HierarchyOffset = INDEX_NONE;
1060 ImposterIndex = INDEX_NONE;
1061 }
1062
1066 virtual float GetAnimationMinScreenSize() const { return -1.0f; }
1067
1069 {
1070 return nullptr;
1071 }
1072
1076 static ENGINE_API void DrawArc(FPrimitiveDrawInterface* PDI, const FVector& Start, const FVector& End, const float Height, const uint32 Segments, const FLinearColor& Color
1077 , uint8 DepthPriorityGroup, const float Thickness = 0.0f, const bool bScreenSpace = false);
1078
1079 static ENGINE_API void DrawArrowHead(FPrimitiveDrawInterface* PDI, const FVector& Tip, const FVector& Origin, const float Size, const FLinearColor& Color
1080 , uint8 DepthPriorityGroup, const float Thickness = 0.0f, const bool bScreenSpace = false);
1081
1082
1088 ENGINE_API virtual void ApplyWorldOffset(FRHICommandListBase& RHICmdList, FVector InOffset);
1089
1095
1100
1105
1106#if ENABLE_DRAW_DEBUG
1107
1109 {
1110 //Local here just means local to ElemTM which can be different depending on how the component uses the mass data
1115
1117 };
1118
1120
1123#endif
1124
1125#if MESH_DRAW_COMMAND_STATS
1126 inline FName GetMeshDrawCommandStatsCategory() const { return MeshDrawCommandStatsCategory; }
1127#endif
1128
1133 virtual void GetLCIs(FLCIArray& LCIs) {}
1134
1135#if WITH_EDITORONLY_DATA
1143 ENGINE_API virtual bool GetPrimitiveDistance(int32 LODIndex, int32 SectionIndex, const FVector& ViewOrigin, float& PrimitiveDistance) const;
1144
1152 ENGINE_API virtual bool GetMeshUVDensities(int32 LODIndex, int32 SectionIndex, FVector4& WorldUVDensities) const;
1153
1163 ENGINE_API virtual bool GetMaterialTextureScales(int32 LODIndex, int32 SectionIndex, const class FMaterialRenderProxy* MaterialRenderProxy, FVector4f* OneOverScales, FIntVector4* UVChannelIndices) const;
1164#endif
1165
1169 virtual int32 GetLightMapResolution() const { return 0; }
1170
1174 virtual int32 GetLightMapCoordinateIndex() const { return INDEX_NONE; }
1175
1177 inline bool IsDrawnInGame() const { return DrawInGame; }
1178
1184
1186 inline bool IsDrawnInEditor() const { return DrawInEditor; }
1187
1188 virtual uint8 GetCurrentFirstLODIdx_RenderThread() const { return 0; }
1189
1191
1193 virtual float GetLodScreenSizeScale() const { return 1.f; }
1194
1196 virtual float GetGpuLodInstanceRadius() const { return 0.f; }
1197
1200
1203
1208 const FCustomPrimitiveData* GetCustomPrimitiveData() const { return &CustomPrimitiveData; }
1209
1211
1217
1218 inline bool HasInstanceDataBuffers() const { return InstanceSceneDataBuffersInternal != nullptr; }
1219
1220
1225
1232
1236
1237#if UE_WITH_PSO_PRECACHING
1240#endif
1241
1242protected:
1244
1247
1249 bool IsRuntimeVirtualTextureOnly() const { return bVirtualTextureMainPassDrawNever; }
1250
1252 bool DrawInRuntimeVirtualTextureOnly(bool bEditor) const;
1253
1256 {
1257 OwnerName = InOwnerName;
1258 }
1259
1266
1273
1275 {
1276 if (bForceHidden != bForceHiddenIn)
1277 {
1278 bForceHidden = bForceHiddenIn;
1280 }
1281 }
1282
1283 virtual void OnForceHiddenChanged() {}
1284
1289
1290public:
1292
1293private:
1294#if !UE_BUILD_TEST
1295 FLinearColor WireframeColor;
1296 FLinearColor PrimitiveColor;
1297#endif
1298
1299 friend class FScene;
1300
1303
1305 int16 TranslucencySortPriority;
1306
1308 float TranslucencySortDistanceOffset;
1309
1311 ELightmapType LightmapType;
1312
1314 TStatId StatId;
1315
1316 uint8 bIsLocalToWorldDeterminantNegative : 1;
1317 uint8 DrawInGame : 1;
1318 uint8 DrawInEditor : 1;
1319 uint8 bReceivesDecals : 1;
1320 uint8 bVirtualTextureMainPassDrawAlways : 1;
1321 uint8 bVirtualTextureMainPassDrawNever : 1;
1322 uint8 bOnlyOwnerSee : 1;
1323 uint8 bOwnerNoSee : 1;
1324 uint8 bOftenMoving : 1;
1326 uint8 bParentSelected : 1;
1328 uint8 bIndividuallySelected : 1;
1330 uint8 bLevelInstanceEditingState : 1;
1331
1333 uint8 bHovered : 1;
1334
1336 uint8 bUseViewOwnerDepthPriorityGroup : 1;
1337
1339 uint8 StaticDepthPriorityGroup : SDPG_NumBits;
1340
1342 uint8 ViewOwnerDepthPriorityGroup : SDPG_NumBits;
1343
1345 uint8 bStaticLighting : 1;
1346
1348 uint8 bVisibleInReflectionCaptures : 1;
1349
1351 uint8 bVisibleInRealTimeSkyCaptures : 1;
1352
1354 uint8 bVisibleInRayTracing : 1;
1355
1357 uint8 bRenderInDepthPass : 1;
1358
1360 uint8 bRenderInMainPass : 1;
1361
1363 uint8 bForceHidden : 1;
1364
1366 uint8 bCollisionEnabled : 1;
1367
1369 uint8 bTreatAsBackgroundForOcclusion : 1;
1370
1373
1374protected:
1375
1378
1387
1390
1393
1396
1399
1402
1405
1408
1411
1414
1417
1420
1423
1425
1427
1430
1432
1439
1442
1445
1448
1451
1454
1457
1460
1463
1469
1470 /* When enabled, the component will be rendering into the distant shadow cascades (only for directional lights). */
1472
1479
1486
1492
1498
1501
1504
1507
1510
1513
1516
1519
1522
1525
1528
1531
1534
1537
1540
1543
1546
1549
1552
1555
1558
1561
1564
1567
1570
1573
1576
1578
1581
1584
1590
1593
1596
1599
1602
1605
1608
1611
1612private:
1613
1615 uint8 bUseAsOccluder:1;
1616
1618 uint8 bSelectable : 1;
1619
1621 uint8 bHasPerInstanceHitProxies : 1;
1622
1624 uint8 bUseEditorCompositing : 1;
1625
1627 uint8 bIsBeingMovedByEditor : 1;
1628
1630 uint8 bReceiveMobileCSMShadows : 1;
1631
1633 uint8 bRenderCustomDepth : 1;
1634
1636 uint8 bVisibleInSceneCaptureOnly : 1;
1637
1639 uint8 bHiddenInSceneCapture : 1;
1640
1642 uint8 bForceMipStreaming : 1;
1643
1645 bool bRayTracingFarField : 1;
1646
1648 uint8 CustomDepthStencilValue;
1649
1651 TEnumAsByte<EStencilMask> CustomDepthStencilWriteMask;
1652
1653 uint8 LightingChannelMask;
1654
1655 // Run-time groups of proxies
1656 int32 RayTracingGroupId;
1657 uint8 RayTracingGroupCullingPriority;
1658
1659private:
1660 // Never use directly in descendant or implementation except for very good reason.
1661 const FInstanceSceneDataBuffers *InstanceSceneDataBuffersInternal = nullptr;
1662
1663protected:
1666
1669
1676
1679
1681
1687
1689
1694
1695public:
1698
1701
1702private:
1704 TArray<uint32> Owners;
1705
1707 FMatrix LocalToWorld;
1708
1711
1714
1716 FVector ActorPosition;
1717
1722 FPrimitiveComponentId PrimitiveComponentId;
1723
1726
1728 FPrimitiveSceneInfo* PrimitiveSceneInfo;
1729
1731 FName OwnerName;
1732
1734 FName ResourceName;
1735
1737 FName LevelName;
1738
1739#if MESH_DRAW_COMMAND_STATS
1741 FName MeshDrawCommandStatsCategory;
1742#endif
1743
1744#if WITH_EDITOR
1746 uint64 HiddenEditorViews;
1747
1750
1752 uint32 SelectionOutlineColorIndex : 8;
1753
1756
1757 uint32 bIsFoliage : 1;
1758#endif
1759
1761 int32 VisibilityId;
1762
1765
1771 const UPrimitiveComponent* ComponentForDebuggingOnly;
1772
1773#if WITH_EDITOR
1777 int32 NumUncachedStaticLightingInteractions;
1778
1780#endif
1781#if UE_WITH_PSO_PRECACHING
1782 // The pso precache request IDs that will be boosted to the highest priority when drawn.
1784#endif
1793
1794 ENGINE_API bool WouldSetTransformBeRedundant_AnyThread(const FMatrix& InLocalToWorld, const FBoxSphereBounds& InBounds, const FBoxSphereBounds& InLocalBounds, const FVector& InActorPosition) const;
1795
1796 ENGINE_API void CreateUniformBuffer();
1797
1799 void SetHiddenEdViews_RenderThread( uint64 InHiddenEditorViews );
1800
1801protected:
1802
1805
1808
1815 UE_DEPRECATED(5.6, "StaticMeshBounds is no longer a parameter of this interface, please update the implementation.")
1818
1821
1824
1826 void SetHovered_RenderThread(const bool bInHovered);
1827
1830
1832};
1833
1838
1844
1848ENGINE_API extern bool SupportsNaniteRendering(const FVertexFactory* RESTRICT VertexFactory, const FPrimitiveSceneProxy* RESTRICT PrimitiveSceneProxy);
1849
1850ENGINE_API extern bool SupportsNaniteRendering(const FVertexFactory* RESTRICT VertexFactory, const FPrimitiveSceneProxy* RESTRICT PrimitiveSceneProxy, const class FMaterialRenderProxy* MaterialRenderProxy, ERHIFeatureLevel::Type FeatureLevel);
1851
1852ENGINE_API extern bool SupportsNaniteRendering(const class FVertexFactoryType* RESTRICT VertexFactoryType, const class FMaterial& Material, ERHIFeatureLevel::Type FeatureLevel);
1853
1854// Whether scene proxies will have GetDynamicMeshElements called in parallel.
1856
1857// Whether scene proxies will have GetDynamicRayTracingInstances called in parallel.
1859
1860#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_6
1861#include "SceneView.h"
1862#endif
#define check(expr)
Definition AssertionMacros.h:314
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
@ INDEX_NONE
Definition CoreMiscDefines.h:150
@ ForceInitToZero
Definition CoreMiscDefines.h:156
@ ForceInit
Definition CoreMiscDefines.h:155
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int16 int16
A 16-bit signed integer.
Definition Platform.h:1123
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::SIZE_T SIZE_T
An unsigned integer the same size as a pointer, the same as UPTRINT.
Definition Platform.h:1150
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
#define RESTRICT
Definition Platform.h:706
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
#define SDPG_NumBits
Definition EngineDefines.h:70
ELightmapType
Definition EngineTypes.h:210
ESceneDepthPriorityGroup
Definition EngineTypes.h:187
EIndirectLightingCacheQuality
Definition EngineTypes.h:198
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
#define X(Name, Desc)
Definition FormatStringSan.h:47
UE::Math::TIntVector2< uint32 > FUintVector2
Definition MathFwd.h:103
UE::Math::TVector2< float > FVector2f
Definition MathFwd.h:74
FBoxSphereBounds3d FBoxSphereBounds
Definition MathFwd.h:142
UE::Math::TVector4< double > FVector4
Definition MathFwd.h:49
UE::Math::TVector2< double > FVector2D
Definition MathFwd.h:48
UE::Math::TVector4< float > FVector4f
Definition MathFwd.h:75
void BoostPrecachedPSORequestsOnDraw(const FPrimitiveSceneInfo *SceneInfo)
Definition PSOPrecache.cpp:137
ENGINE_API bool ShouldOptimizedWPOAffectNonNaniteShaderSelection()
Definition PrimitiveSceneProxy.cpp:137
ENGINE_API bool IsParallelGatherDynamicMeshElementsEnabled()
Definition PrimitiveSceneProxy.cpp:105
bool IsAllowingApproximateOcclusionQueries()
Definition PrimitiveSceneProxy.cpp:132
ERayTracingPrimitiveFlags
Definition PrimitiveSceneProxy.h:236
ERayTracingProxyType
Definition PrimitiveSceneProxy.h:278
uint32 GetTypeHash(FSimpleLightId In)
Definition PrimitiveSceneProxy.h:129
ENGINE_API bool IsParallelGatherDynamicRayTracingInstancesEnabled()
Definition PrimitiveSceneProxy.cpp:120
bool CacheShadowDepthsFromPrimitivesUsingWPO()
Definition PrimitiveSceneProxy.cpp:142
EStencilMask
Definition RHIDefinitions.h:428
ERuntimeVirtualTextureMaterialType
Definition RuntimeVirtualTextureEnum.h:38
EShadowCacheInvalidationBehavior
Definition SceneTypes.h:219
uint32 Size
Definition VulkanMemory.cpp:4034
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition MeshCardBuild.h:142
Definition ColorVertexBuffer.h:16
Definition DistanceFieldAtlas.h:241
Definition PrimitiveSceneProxy.h:211
FHeightfieldComponentDescription(const FMatrix &InLocalToWorld, uint32 InGPUSceneInstanceIndex)
Definition PrimitiveSceneProxy.h:224
FIntRect HeightfieldRect
Definition PrimitiveSceneProxy.h:217
int32 VisibilityChannel
Definition PrimitiveSceneProxy.h:222
FMatrix LocalToWorld
Definition PrimitiveSceneProxy.h:215
FVector4f HeightfieldScaleBias
Definition PrimitiveSceneProxy.h:213
FVector4 SubsectionScaleAndBias
Definition PrimitiveSceneProxy.h:221
uint32 GPUSceneInstanceIndex
Definition PrimitiveSceneProxy.h:219
FVector4f MinMaxUV
Definition PrimitiveSceneProxy.h:214
FVector2D LightingAtlasLocation
Definition PrimitiveSceneProxy.h:216
int32 NumSubsections
Definition PrimitiveSceneProxy.h:220
Definition InstanceDataSceneProxy.h:425
Definition InstanceDataSceneProxy.h:135
Definition SceneCore.h:23
Definition LightSceneInfo.h:208
Definition LightSceneProxy.h:43
Definition MaterialCacheSceneExtension.cpp:30
Definition MaterialRenderProxy.h:102
Definition MaterialShared.h:2058
Definition MeshElementCollector.h:26
Definition NameTypes.h:617
Definition PrimitiveComponentId.h:12
Definition PrimitiveDrawInterface.h:19
Definition PrimitiveSceneInfo.h:266
Definition PrimitiveSceneProxy.h:296
uint8 bWantsSelectionOutline
Definition PrimitiveSceneProxy.h:1575
TStatId GetStatId() const
Definition PrimitiveSceneProxy.h:744
virtual ESceneDepthPriorityGroup GetStaticDepthPriorityGroup() const
Definition PrimitiveSceneProxy.h:668
void SetCanSkipRedundantTransformUpdates(bool bCanSkip)
Definition PrimitiveSceneProxy.h:638
uint8 bSupportsRuntimeVirtualTexture
Definition PrimitiveSceneProxy.h:1607
bool AnyMaterialUsesTemporalResponsiveness() const
Definition PrimitiveSceneProxy.h:895
float DynamicIndirectShadowMinVisibility
Definition PrimitiveSceneProxy.h:1678
ENGINE_API void SetPrimitiveColor_GameThread(const FLinearColor &InPrimitiveColor)
Definition PrimitiveSceneProxy.cpp:1412
bool ShouldUseAsOccluder() const
Definition PrimitiveSceneProxy.h:846
bool IsMovable() const
Definition PrimitiveSceneProxy.h:759
bool HasPerInstanceHitProxies() const
Definition PrimitiveSceneProxy.h:861
virtual void GetLCIs(FLCIArray &LCIs)
Definition PrimitiveSceneProxy.h:1133
void SetForceHidden(bool bForceHiddenIn)
Definition PrimitiveSceneProxy.h:1274
ENGINE_API void SetSelection_GameThread(const bool bInParentSelected, const bool bInIndividuallySelected=false)
Definition PrimitiveSceneProxy.cpp:1029
const FCustomPrimitiveData * GetCustomPrimitiveData() const
Definition PrimitiveSceneProxy.h:1208
bool CastsDynamicShadow() const
Definition PrimitiveSceneProxy.h:810
virtual FSkinningSceneExtensionProxy * GetSkinningSceneExtensionProxy() const
Definition PrimitiveSceneProxy.h:954
uint8 bIsHierarchicalInstancedStaticMesh
Definition PrimitiveSceneProxy.h:1515
virtual void AcceptOcclusionResults(const FSceneView *View, TArray< bool > *Results, int32 ResultsStart, int32 NumResults)
Definition PrimitiveSceneProxy.h:530
float MinDrawDistance
Definition PrimitiveSceneProxy.h:1807
FName GetMeshDrawCommandStatsCategory() const
Definition PrimitiveSceneProxy.h:1126
uint32 MaterialCacheDescriptor
Definition PrimitiveSceneProxy.h:1700
bool IsLumenHeightfield() const
Definition PrimitiveSceneProxy.h:875
bool IsVisibleInRealTimeSkyCaptures() const
Definition PrimitiveSceneProxy.h:793
ENGINE_API bool IsShadowCast(const FSceneView *View) const
Definition PrimitiveSceneProxy.cpp:1589
bool ShouldRenderInDepthPass() const
Definition PrimitiveSceneProxy.h:799
bool CastsShadowAsTwoSided() const
Definition PrimitiveSceneProxy.h:826
uint8 bIsAlwaysVisible
Definition PrimitiveSceneProxy.h:1509
virtual bool CanBeOccluded() const
Definition PrimitiveSceneProxy.h:613
virtual TConstArrayView< FPrimitiveComponentId > GetSourceLandscapeComponentIds() const
Definition PrimitiveSceneProxy.h:579
uint8 bIsNaniteMesh
Definition PrimitiveSceneProxy.h:1506
float DistanceFieldSelfShadowBias
Definition PrimitiveSceneProxy.h:1680
bool CastsDeepShadow() const
Definition PrimitiveSceneProxy.h:821
bool IsFirstPersonWorldSpaceRepresentation() const
Definition PrimitiveSceneProxy.h:852
uint8 bHasDeformableMesh
Definition PrimitiveSceneProxy.h:1524
bool SupportsGPUScene() const
Definition PrimitiveSceneProxy.h:986
ENGINE_API void UpdateUniformBuffer(FRHICommandList &RHICmdList)
Definition PrimitiveSceneProxy.cpp:713
bool DoesMeshBatchesUseSceneInstanceCount() const
Definition PrimitiveSceneProxy.h:844
FVector2f MinMaxMaterialDisplacement
Definition PrimitiveSceneProxy.h:1688
ENGINE_API void UpdateVisibleInLumenScene()
Definition PrimitiveSceneProxy.cpp:1671
uint8 bAnyMaterialAlwaysEvaluatesWorldPositionOffset
Definition PrimitiveSceneProxy.h:1536
bool IsLocalToWorldDeterminantNegative() const
Definition PrimitiveSceneProxy.h:737
virtual float GetAnimationMinScreenSize() const
Definition PrimitiveSceneProxy.h:1066
bool IsSkinnedMesh() const
Definition PrimitiveSceneProxy.h:850
TArray< class FLightCacheInterface *, TInlineAllocator< 8 > > FLCIArray
Definition PrimitiveSceneProxy.h:1132
virtual ENGINE_API HHitProxy * CreateHitProxies(UPrimitiveComponent *Component, TArray< TRefCountPtr< HHitProxy > > &OutHitProxies)
Definition PrimitiveSceneProxy.cpp:661
uint8 bStaticElementsAlwaysUseProxyPrimitiveUniformBuffer
Definition PrimitiveSceneProxy.h:1491
FPrimitiveSceneInfo * GetPrimitiveSceneInfo() const
Definition PrimitiveSceneProxy.h:735
bool IsSplineMesh() const
Definition PrimitiveSceneProxy.h:849
bool IsSelectable() const
Definition PrimitiveSceneProxy.h:774
bool CastsInsetShadow() const
Definition PrimitiveSceneProxy.h:828
uint8 bLightAttachmentsAsGroup
Definition PrimitiveSceneProxy.h:1478
uint8 bAnyMaterialHasPixelAnimation
Definition PrimitiveSceneProxy.h:1539
ENGINE_API ESceneDepthPriorityGroup GetDepthPriorityGroup(const FSceneView *View) const
Definition PrimitiveSceneProxy.cpp:1468
bool AnyMaterialUsesMotionVectorWorldOffset() const
Definition PrimitiveSceneProxy.h:896
bool IsHeterogeneousVolume() const
Definition PrimitiveSceneProxy.h:978
uint8 bAnyMaterialHasWorldPositionOffset
Definition PrimitiveSceneProxy.h:1533
void SetCustomDepthEnabled_GameThread(const bool bInRenderCustomDepth)
Definition PrimitiveSceneProxy.cpp:1066
virtual void ApplyViewDependentMeshArguments(const FSceneView &View, FMeshBatch &ViewDependentMeshBatch) const
Definition PrimitiveSceneProxy.h:512
virtual void DrawStaticElements(FStaticPrimitiveDrawInterface *PDI)
Definition PrimitiveSceneProxy.h:444
virtual FUintVector2 GetMeshPaintTextureDescriptor() const
Definition PrimitiveSceneProxy.h:1199
virtual bool StaticMeshHasPendingStreaming() const
Definition PrimitiveSceneProxy.h:571
bool CastsContactShadow() const
Definition PrimitiveSceneProxy.h:820
TArray< FDebugMassData > DebugMassData
Definition PrimitiveSceneProxy.h:1119
ENGINE_API FPrimitiveSceneProxy(FPrimitiveSceneProxy const &)
bool IsForceMipStreaming() const
Definition PrimitiveSceneProxy.h:488
virtual ENGINE_API void SetDebugMassData(const TArray< FDebugMassData > &InDebugMassData)
int32 GetVirtualTextureLodBias() const
Definition PrimitiveSceneProxy.h:754
uint8 bSupportsDistanceFieldRepresentation
Definition PrimitiveSceneProxy.h:1551
virtual ENGINE_API void ApplyWorldOffset(FRHICommandListBase &RHICmdList, FVector InOffset)
Definition PrimitiveSceneProxy.cpp:957
bool IsSelected() const
Definition PrimitiveSceneProxy.h:778
bool IsIndividuallySelected() const
Definition PrimitiveSceneProxy.h:776
void SetDistanceFieldSelfShadowBias_RenderThread(float NewBias)
Definition PrimitiveSceneProxy.cpp:1159
uint8 bSplineMesh
Definition PrimitiveSceneProxy.h:1592
uint8 bHasWorldPositionOffsetVelocity
Definition PrimitiveSceneProxy.h:1530
bool SupportsSortedTriangles() const
Definition PrimitiveSceneProxy.h:880
uint8 bCastVolumetricTranslucentShadow
Definition PrimitiveSceneProxy.h:1438
uint8 bAnyMaterialUsesMotionVectorWorldOffset
Definition PrimitiveSceneProxy.h:1545
virtual FDesiredLODLevel GetDesiredLODLevel_RenderThread(const FSceneView *View) const
Definition PrimitiveSceneProxy.h:1190
ELightmapType GetLightmapType() const
Definition PrimitiveSceneProxy.h:772
bool ShouldReceiveMobileCSMShadows() const
Definition PrimitiveSceneProxy.h:884
bool SupportsParallelGDME() const
Definition PrimitiveSceneProxy.h:800
bool LightAttachmentsAsGroup() const
Definition PrimitiveSceneProxy.h:831
void SetPrimitiveColor(const FLinearColor &InPrimitiveColor)
Definition PrimitiveSceneProxy.h:937
void SetSelection_RenderThread(const bool bInParentSelected, const bool bInIndividuallySelected)
Definition PrimitiveSceneProxy.cpp:1001
virtual bool GetInstanceWorldPositionOffsetDisableDistance(float &OutWPODisableDistance) const
Definition PrimitiveSceneProxy.h:1049
uint8 bCastHiddenShadow
Definition PrimitiveSceneProxy.h:1453
static ENGINE_API void DrawArrowHead(FPrimitiveDrawInterface *PDI, const FVector &Tip, const FVector &Origin, const float Size, const FLinearColor &Color, uint8 DepthPriorityGroup, const float Thickness=0.0f, const bool bScreenSpace=false)
Definition PrimitiveSceneProxy.cpp:1789
FName GetResourceName() const
Definition PrimitiveSceneProxy.h:742
uint8 bCastContactShadow
Definition PrimitiveSceneProxy.h:1441
bool CastsCinematicShadow() const
Definition PrimitiveSceneProxy.h:829
uint8 bCastCapsuleDirectShadow
Definition PrimitiveSceneProxy.h:1447
const TArray< int32 > & GetRuntimeVirtualTextureIds() const
Definition PrimitiveSceneProxy.h:757
ENGINE_API void RenderBounds(FPrimitiveDrawInterface *PDI, const FEngineShowFlags &EngineShowFlags, const FBoxSphereBounds &Bounds, bool bRenderInEditor) const
Definition PrimitiveSceneProxy.cpp:1717
bool CastsVolumetricTranslucentShadow() const
Definition PrimitiveSceneProxy.h:819
bool WantsEditorEffects() const
Definition PrimitiveSceneProxy.h:779
float GetAbsMaxDisplacement() const
Definition PrimitiveSceneProxy.h:912
uint8 bHasValidSettingsForStaticLighting
Definition PrimitiveSceneProxy.h:1407
virtual ENGINE_API uint32 GetMaterialCacheDescriptor() const
Definition PrimitiveSceneProxy.cpp:1266
float GetMaxDrawDistance() const
Definition PrimitiveSceneProxy.h:749
bool IsLandscapeProxy() const
Definition PrimitiveSceneProxy.h:876
const bool ReceivesDecals() const
Definition PrimitiveSceneProxy.h:870
EStencilMask GetStencilWriteMask() const
Definition PrimitiveSceneProxy.h:785
virtual void GetNaniteResourceInfo(uint32 &ResourceID, uint32 &HierarchyOffset, uint32 &ImposterIndex) const
Definition PrimitiveSceneProxy.h:1056
ENGINE_API void OnLevelAddedToWorld_RenderThread()
Definition PrimitiveSceneProxy.cpp:637
bool CastsFarShadow() const
Definition PrimitiveSceneProxy.h:830
virtual void GetDistanceFieldAtlasData(const class FDistanceFieldVolumeData *&OutDistanceFieldData, float &SelfShadowBias) const
Definition PrimitiveSceneProxy.h:559
const FBoxSphereBounds & GetLocalBounds() const
Definition PrimitiveSceneProxy.h:739
virtual SIZE_T GetTypeHash() const =0
virtual FRenderCurveResourceData * GetRenderCurveResourceData()
Definition PrimitiveSceneProxy.h:1068
ENGINE_API bool UseEditorCompositing(const FSceneView *View) const
Definition PrimitiveSceneProxy.cpp:985
virtual bool ShowInBSPSplitViewmode() const
Definition PrimitiveSceneProxy.h:659
uint8 bGoodCandidateForCachedShadowmap
Definition PrimitiveSceneProxy.h:1401
bool IsHiddenInSceneCapture() const
Definition PrimitiveSceneProxy.h:783
static constexpr int32 InvalidRayTracingGroupId
Definition PrimitiveSceneProxy.h:889
bool SinglePassGDME() const
Definition PrimitiveSceneProxy.h:801
bool IsMeshShapeOftenMoving() const
Definition PrimitiveSceneProxy.h:767
uint8 bLumenHeightfield
Definition PrimitiveSceneProxy.h:1557
uint8 bSupportsParallelGDME
Definition PrimitiveSceneProxy.h:1377
TArray< int32 > RuntimeVirtualTextures
Definition PrimitiveSceneProxy.h:1691
virtual FInstanceDataUpdateTaskInfo * GetInstanceDataUpdateTaskInfo() const
Definition PrimitiveSceneProxy.h:1231
virtual float GetLodScreenSizeScale() const
Definition PrimitiveSceneProxy.h:1193
uint8 bAlwaysHasVelocity
Definition PrimitiveSceneProxy.h:1548
bool IsOftenMoving() const
Definition PrimitiveSceneProxy.h:765
virtual bool GetInstanceDrawDistanceMinMax(FVector2f &OutDistanceMinMax) const
Definition PrimitiveSceneProxy.h:1037
bool IsHovered() const
Definition PrimitiveSceneProxy.h:804
float GetMaxWorldPositionOffsetExtent() const
Definition PrimitiveSceneProxy.h:897
uint8 bCastsDynamicIndirectShadow
Definition PrimitiveSceneProxy.h:1450
bool IsForceHidden() const
Definition PrimitiveSceneProxy.h:883
virtual void SetInstanceCullDistance_RenderThread(float StartCullDistance, float EndCullDistance)
Definition PrimitiveSceneProxy.h:381
uint8 bVisibleInLumenScene
Definition PrimitiveSceneProxy.h:1392
uint8 bCastDynamicShadow
Definition PrimitiveSceneProxy.h:1413
bool SupportsDistanceFieldRepresentation() const
Definition PrimitiveSceneProxy.h:873
uint8 bAffectIndirectLightingWhileHidden
Definition PrimitiveSceneProxy.h:1422
int32 GetVisibilityId() const
Definition PrimitiveSceneProxy.h:750
uint8 bVFRequiresPrimitiveUniformBuffer
Definition PrimitiveSceneProxy.h:1497
virtual bool HasSubprimitiveOcclusionQueries() const
Definition PrimitiveSceneProxy.h:654
uint8 bOpaqueOrMasked
Definition PrimitiveSceneProxy.h:1395
ENGINE_API void SetDrawnInGame_RenderThread(bool bInDrawInGame)
Definition PrimitiveSceneProxy.cpp:1108
uint8 bCastShadowAsTwoSided
Definition PrimitiveSceneProxy.h:1456
bool DrawsVelocity() const
Definition PrimitiveSceneProxy.h:922
bool CastsSelfShadowOnly() const
Definition PrimitiveSceneProxy.h:827
int8 VirtualTextureMinCoverage
Definition PrimitiveSceneProxy.h:1675
void SetCollisionEnabled_RenderThread(const bool bNewEnabled)
Definition PrimitiveSceneProxy.cpp:1488
bool HasDynamicTransform() const
Definition PrimitiveSceneProxy.h:920
void SetLevelInstanceEditingState_RenderThread(const bool bInLevelInstanceEditingState)
Definition PrimitiveSceneProxy.cpp:1042
bool WritesVirtualTexture() const
Definition PrimitiveSceneProxy.h:812
uint8 bCastCinematicShadow
Definition PrimitiveSceneProxy.h:1468
bool Holdout() const
Definition PrimitiveSceneProxy.h:848
bool IsOwnerNoSee() const
Definition PrimitiveSceneProxy.h:853
uint8 bIsLandscapeProxy
Definition PrimitiveSceneProxy.h:1560
bool IsNaniteMesh() const
Definition PrimitiveSceneProxy.h:962
bool IsVisibleInLumenScene() const
Definition PrimitiveSceneProxy.h:795
bool IsOpaqueOrMasked() const
Definition PrimitiveSceneProxy.h:796
SIZE_T GetAllocatedSize(void) const
Definition PrimitiveSceneProxy.h:684
EInstanceBufferAccessFlags
Definition PrimitiveSceneProxy.h:1213
uint8 bIsHeterogeneousVolume
Definition PrimitiveSceneProxy.h:1512
float GetDynamicIndirectShadowMinVisibility() const
Definition PrimitiveSceneProxy.h:824
uint8 bCastFarShadow
Definition PrimitiveSceneProxy.h:1471
ENGINE_API bool VerifyUsedMaterial(const class FMaterialRenderProxy *MaterialRenderProxy) const
Definition PrimitiveSceneProxy.cpp:1736
virtual void SetWorldPositionOffsetDisableDistance_GameThread(int32 NewValue)
Definition PrimitiveSceneProxy.h:379
bool SupportsParallelGDRTI() const
Definition PrimitiveSceneProxy.h:802
void SetHovered_RenderThread(const bool bInHovered)
Definition PrimitiveSceneProxy.cpp:1187
ENGINE_API void SetLevelInstanceEditingState_GameThread(const bool bInEditingState)
Definition PrimitiveSceneProxy.cpp:1048
EShadowCacheInvalidationBehavior ShadowCacheInvalidationBehavior
Definition PrimitiveSceneProxy.h:1431
bool AnyMaterialAlwaysEvaluatesWorldPositionOffset() const
Definition PrimitiveSceneProxy.h:893
bool StaticElementsAlwaysUseProxyPrimitiveUniformBuffer() const
Definition PrimitiveSceneProxy.h:833
ENGINE_API bool IsInstanceDataGPUOnly() const
Definition PrimitiveSceneProxy.cpp:980
virtual bool HasDistanceFieldRepresentation() const
Definition PrimitiveSceneProxy.h:1021
uint8 bDoesMeshBatchesUseSceneInstanceCount
Definition PrimitiveSceneProxy.h:1500
virtual const TArray< FBoxSphereBounds > * GetOcclusionQueries(const FSceneView *View) const
Definition PrimitiveSceneProxy.h:519
virtual void GetDynamicMeshElements(const TArray< const FSceneView * > &Views, const FSceneViewFamily &ViewFamily, uint32 VisibilityMap, class FMeshElementCollector &Collector) const
Definition PrimitiveSceneProxy.h:502
uint8 bSingleSampleShadowFromStationaryLights
Definition PrimitiveSceneProxy.h:1485
uint8 bSelfShadowOnly
Definition PrimitiveSceneProxy.h:1459
bool WillEverBeLit() const
Definition PrimitiveSceneProxy.h:871
bool IsAlwaysVisible() const
Definition PrimitiveSceneProxy.h:970
int8 VirtualTextureLodBias
Definition PrimitiveSceneProxy.h:1671
uint8 bIsStaticMesh
Definition PrimitiveSceneProxy.h:1503
bool WantsSelectionOutline() const
Definition PrimitiveSceneProxy.h:780
TSharedPtr< int32, ESPMode::ThreadSafe > SimpleStreamableAssetManagerIndex
Definition PrimitiveSceneProxy.h:1291
bool IsCompatibleWithLumenCardSharing() const
Definition PrimitiveSceneProxy.h:878
ENGINE_API void EnableGPUSceneSupportFlags()
Definition PrimitiveSceneProxy.cpp:1321
bool HasInstanceDataBuffers() const
Definition PrimitiveSceneProxy.h:1218
void SetHovered_GameThread(const bool bInHovered)
Definition PrimitiveSceneProxy.cpp:1198
bool CastsHiddenShadow() const
Definition PrimitiveSceneProxy.h:825
ENGINE_API bool UseSingleSampleShadowFromStationaryLights() const
Definition PrimitiveSceneProxy.cpp:973
uint8 GetLightingChannelStencilValue() const
Definition PrimitiveSceneProxy.h:787
bool IsRuntimeVirtualTextureOnly() const
Definition PrimitiveSceneProxy.h:1249
uint8 bIsLandscapeGrass
Definition PrimitiveSceneProxy.h:1518
TArray< class FMaterialCacheVirtualTextureRenderProxy * > MaterialCacheRenderProxies
Definition PrimitiveSceneProxy.h:1697
bool CanSkipRedundantTransformUpdates() const
Definition PrimitiveSceneProxy.h:630
bool IsEditingLevelInstanceChild() const
Definition PrimitiveSceneProxy.h:777
bool CastsStaticShadow() const
Definition PrimitiveSceneProxy.h:809
virtual bool IsUsingDistanceCullFade() const
Definition PrimitiveSceneProxy.h:646
virtual FBoxSphereBounds GetCustomOcclusionBounds() const
Definition PrimitiveSceneProxy.h:1015
uint8 bIsFirstPersonWorldSpaceRepresentation
Definition PrimitiveSceneProxy.h:1604
virtual ENGINE_API void UpdateInstances_RenderThread(FRHICommandListBase &RHICmdList, const FBoxSphereBounds &InBounds, const FBoxSphereBounds &InLocalBounds, const FBoxSphereBounds &InStaticMeshBounds) final
Definition PrimitiveSceneProxy.cpp:901
virtual void GetShadowShapes(FVector PreViewTranslation, TArray< FCapsuleShape3f > &OutCapsuleShapes) const
Definition PrimitiveSceneProxy.h:450
void SetHiddenEdViews_GameThread(uint64 InHiddenEditorViews)
Definition PrimitiveSceneProxy.cpp:1336
int32 GetVirtualTextureCullMips() const
Definition PrimitiveSceneProxy.h:755
virtual int32 GetLightMapResolution() const
Definition PrimitiveSceneProxy.h:1169
uint8 bSupportsHeightfieldRepresentation
Definition PrimitiveSceneProxy.h:1554
uint8 bAnyMaterialUsesTemporalResponsiveness
Definition PrimitiveSceneProxy.h:1542
bool IsVisibleInReflectionCaptures() const
Definition PrimitiveSceneProxy.h:792
virtual ENGINE_API ~FPrimitiveSceneProxy()
Definition PrimitiveSceneProxy.cpp:656
virtual ENGINE_API void GetPreSkinnedLocalBounds(FBoxSphereBounds &OutBounds) const
Definition PrimitiveSceneProxy.cpp:1175
virtual void CreateRenderThreadResources(FRHICommandListBase &RHICmdList)
Definition PrimitiveSceneProxy.h:586
uint8 bHoldout
Definition PrimitiveSceneProxy.h:1589
virtual void OnDetachLight(const FLightSceneInfo *Light)
Definition PrimitiveSceneProxy.h:600
ENGINE_API FInstanceDataBufferHeader GetInstanceDataHeader() const
Definition PrimitiveSceneProxy.cpp:1284
bool CastsDynamicIndirectShadow() const
Definition PrimitiveSceneProxy.h:823
virtual float GetGpuLodInstanceRadius() const
Definition PrimitiveSceneProxy.h:1196
virtual void GatherSimpleLights(const FSceneViewFamily &ViewFamily, FSimpleLightArray &OutParticleLights) const
Definition PrimitiveSceneProxy.h:541
bool ShouldRenderInMainPass() const
Definition PrimitiveSceneProxy.h:798
virtual uint32 GetMemoryFootprint(void) const =0
bool AnyMaterialHasWorldPositionOffset() const
Definition PrimitiveSceneProxy.h:892
bool IsStatic() const
Definition PrimitiveSceneProxy.h:773
bool IsFirstPerson() const
Definition PrimitiveSceneProxy.h:851
bool IsOwnedBy(const FSceneViewOwner &Owner) const
Definition PrimitiveSceneProxy.h:805
FLinearColor GetPrimitiveColor() const
Definition PrimitiveSceneProxy.h:935
bool DoesVFRequirePrimitiveUniformBuffer() const
Definition PrimitiveSceneProxy.h:834
uint8 bSinglePassGDME
Definition PrimitiveSceneProxy.h:1386
TArray< ERuntimeVirtualTextureMaterialType > RuntimeVirtualTextureMaterialTypes
Definition PrimitiveSceneProxy.h:1693
void SetCustomDepthEnabled_RenderThread(const bool bInRenderCustomDepth)
Definition PrimitiveSceneProxy.cpp:1082
uint8 bCompatibleWithLumenCardSharing
Definition PrimitiveSceneProxy.h:1566
uint8 bCastInsetShadow
Definition PrimitiveSceneProxy.h:1462
virtual ENGINE_API FPrimitiveViewRelevance GetViewRelevance(const FSceneView *View) const
Definition PrimitiveSceneProxy.cpp:700
uint8 bSupportsParallelGDRTI
Definition PrimitiveSceneProxy.h:1389
ENGINE_API void SetDrawDistance_RenderThread(float MinDrawDistance, float MaxDrawDistance, float VirtualTextureMaxDrawDistance)
Definition PrimitiveSceneProxy.cpp:1164
uint8 bCastStaticShadow
Definition PrimitiveSceneProxy.h:1429
uint8 bCastDeepShadow
Definition PrimitiveSceneProxy.h:1444
float GetTranslucencySortDistanceOffset() const
Definition PrimitiveSceneProxy.h:752
ENGINE_API void SetupInstanceSceneDataBuffers(const FInstanceSceneDataBuffers *InInstanceSceneDataBuffers)
Definition PrimitiveSceneProxy.cpp:1298
virtual int32 GetLOD(const FSceneView *View) const
Definition PrimitiveSceneProxy.h:396
ENGINE_API bool ShouldRenderCustomDepth() const
Definition PrimitiveSceneProxy.cpp:127
virtual bool CanApplyStreamableRenderAssetScaleFactor() const
Definition PrimitiveSceneProxy.h:487
virtual bool HeightfieldHasPendingStreaming() const
Definition PrimitiveSceneProxy.h:569
bool HasStaticLighting() const
Definition PrimitiveSceneProxy.h:807
FName GetOwnerName() const
Definition PrimitiveSceneProxy.h:741
ENGINE_API const FInstanceSceneDataBuffers * GetInstanceSceneDataBuffers(EInstanceBufferAccessFlags AccessFlags=EInstanceBufferAccessFlags::SynchronizeUpdateTask) const
Definition PrimitiveSceneProxy.cpp:1272
FSceneInterface & GetScene() const
Definition PrimitiveSceneProxy.h:733
virtual bool HasDynamicIndirectShadowCasterRepresentation() const
Definition PrimitiveSceneProxy.h:1026
uint8 bWillEverBeLit
Definition PrimitiveSceneProxy.h:1410
const FVector & GetActorPosition() const
Definition PrimitiveSceneProxy.h:869
uint8 bVerifyUsedMaterials
Definition PrimitiveSceneProxy.h:1577
uint8 bEvaluateWorldPositionOffset
Definition PrimitiveSceneProxy.h:1527
bool HasViewDependentDPG() const
Definition PrimitiveSceneProxy.h:806
void SetLightingChannels_GameThread(FLightingChannels LightingChannels)
Definition PrimitiveSceneProxy.cpp:1211
uint8 bSupportsGPUScene
Definition PrimitiveSceneProxy.h:1521
bool HasValidSettingsForStaticLighting() const
Definition PrimitiveSceneProxy.h:872
virtual void DestroyRenderThreadResources()
Definition PrimitiveSceneProxy.h:593
uint8 GetLightingChannelMask() const
Definition PrimitiveSceneProxy.h:786
int16 GetTranslucencySortPriority() const
Definition PrimitiveSceneProxy.h:751
uint8 GetRayTracingGroupCullingPriority() const
Definition PrimitiveSceneProxy.h:887
bool IsSupportingStreamableRenderAssetsGathering() const
Definition PrimitiveSceneProxy.h:486
TEnumAsByte< EIndirectLightingCacheQuality > IndirectLightingCacheQuality
Definition PrimitiveSceneProxy.h:1668
bool IsParentSelected() const
Definition PrimitiveSceneProxy.h:775
int32 GetRayTracingGroupId() const
Definition PrimitiveSceneProxy.h:886
uint8 bImplementsStreamableAssetGathering
Definition PrimitiveSceneProxy.h:1610
ENGINE_API FRenderBounds PadInstanceLocalBounds(const FRenderBounds &InBounds)
Definition PrimitiveSceneProxy.cpp:1230
bool IsOnlyOwnerSee() const
Definition PrimitiveSceneProxy.h:854
virtual bool AllowInstanceCullingOcclusionQueries() const
Definition PrimitiveSceneProxy.h:622
FName GetLevelName() const
Definition PrimitiveSceneProxy.h:743
void SetEvaluateWorldPositionOffset_GameThread(bool bEvaluate)
Definition PrimitiveSceneProxy.cpp:1445
bool EvaluateWorldPositionOffset() const
Definition PrimitiveSceneProxy.h:891
virtual void GetDistanceFieldInstanceData(TArray< FRenderTransform > &InstanceLocalToPrimitiveTransforms) const final
Definition PrimitiveSceneProxy.h:565
uint8 bIsFirstPerson
Definition PrimitiveSceneProxy.h:1601
virtual void GetLightRelevance(const FLightSceneProxy *LightSceneProxy, bool &bDynamic, bool &bRelevant, bool &bLightMapped, bool &bShadowMapped) const
Definition PrimitiveSceneProxy.h:550
bool IsVisibleInSceneCaptureOnly() const
Definition PrimitiveSceneProxy.h:782
uint8 bSkinnedMesh
Definition PrimitiveSceneProxy.h:1595
uint8 bWantsEditorEffects
Definition PrimitiveSceneProxy.h:1580
virtual int32 GetLightMapCoordinateIndex() const
Definition PrimitiveSceneProxy.h:1174
uint8 bIsLandscapeNaniteProxy
Definition PrimitiveSceneProxy.h:1563
bool SupportsMaterialCache() const
Definition PrimitiveSceneProxy.h:797
ENGINE_API bool IsShown(const FSceneView *View) const
Definition PrimitiveSceneProxy.cpp:1495
const FMatrix & GetLocalToWorld() const
Definition PrimitiveSceneProxy.h:736
bool IsDrawnInGame() const
Definition PrimitiveSceneProxy.h:1177
bool CastsCapsuleDirectShadow() const
Definition PrimitiveSceneProxy.h:822
uint8 bSupportsMaterialCache
Definition PrimitiveSceneProxy.h:1426
bool SupportsInstanceDataBuffer() const
Definition PrimitiveSceneProxy.h:879
ENGINE_API void BuildUniformShaderParameters(FPrimitiveUniformShaderParametersBuilder &Builder) const
Definition PrimitiveSceneProxy.cpp:735
ENGINE_API void OnLevelRemovedFromWorld_RenderThread()
Definition PrimitiveSceneProxy.cpp:643
FLinearColor GetWireframeColor() const
Definition PrimitiveSceneProxy.h:934
EIndirectLightingCacheQuality GetIndirectLightingCacheQuality() const
Definition PrimitiveSceneProxy.h:818
float MaxWPOExtent
Definition PrimitiveSceneProxy.h:1686
bool AffectsIndirectLightingWhileHidden() const
Definition PrimitiveSceneProxy.h:817
FPrimitiveComponentId GetPrimitiveComponentId() const
Definition PrimitiveSceneProxy.h:734
bool NeedsUnbuiltPreviewLighting() const
Definition PrimitiveSceneProxy.h:808
int32 GetVirtualTextureMinCoverage() const
Definition PrimitiveSceneProxy.h:756
uint8 bShouldNotifyOnWorldAddRemove
Definition PrimitiveSceneProxy.h:1572
virtual ENGINE_API void ApplyLateUpdateTransform(FRHICommandListBase &RHICmdList, const FMatrix &LateUpdateTransform)
Definition PrimitiveSceneProxy.cpp:967
virtual void GetHeightfieldRepresentation(UTexture2D *&OutHeightmapTexture, UTexture2D *&OutVisibilityTexture, FHeightfieldComponentDescription &OutDescription) const
Definition PrimitiveSceneProxy.h:573
FMaterialRelevance CombinedMaterialRelevance
Definition PrimitiveSceneProxy.h:1665
uint8 bAffectDistanceFieldLighting
Definition PrimitiveSceneProxy.h:1424
bool AnyMaterialHasPixelAnimation() const
Definition PrimitiveSceneProxy.h:894
virtual bool HasCustomOcclusionBounds() const
Definition PrimitiveSceneProxy.h:1005
virtual bool IsCullingReversedByComponent() const
Definition PrimitiveSceneProxy.h:452
bool DrawInRuntimeVirtualTextureOnly(bool bEditor) const
Definition PrimitiveSceneProxy.cpp:1304
uint8 GetCustomDepthStencilValue() const
Definition PrimitiveSceneProxy.h:784
EShadowCacheInvalidationBehavior GetShadowCacheInvalidationBehavior() const
Definition PrimitiveSceneProxy.h:1210
bool HasDeformableMesh() const
Definition PrimitiveSceneProxy.h:995
void SetCollisionEnabled_GameThread(const bool bNewEnabled)
Definition PrimitiveSceneProxy.cpp:1475
virtual void OnForceHiddenChanged()
Definition PrimitiveSceneProxy.h:1283
virtual void GetStreamableRenderAssetInfo(const FBoxSphereBounds &PrimitiveBounds, TArray< struct FStreamingRenderAssetPrimitiveInfo > &StreamableRenderAssets) const
Definition PrimitiveSceneProxy.h:485
virtual void GetMeshDescription(int32 LODIndex, TArray< FMeshBatch > &OutMeshElements) const
Definition PrimitiveSceneProxy.h:447
bool IsEmissiveLightSource() const
Definition PrimitiveSceneProxy.h:811
bool SupportsHeightfieldRepresentation() const
Definition PrimitiveSceneProxy.h:874
uint8 bEmissiveLightSource
Definition PrimitiveSceneProxy.h:1416
bool IsLandscapeNaniteProxy() const
Definition PrimitiveSceneProxy.h:877
uint8 bNeedsUnbuiltPreviewLighting
Definition PrimitiveSceneProxy.h:1404
uint8 bAllowApproximateOcclusion
Definition PrimitiveSceneProxy.h:1583
bool AffectsDynamicIndirectLighting() const
Definition PrimitiveSceneProxy.h:815
const FVector2f & GetMinMaxMaterialDisplacement() const
Definition PrimitiveSceneProxy.h:907
virtual const class FCardRepresentationData * GetMeshCardRepresentation() const
Definition PrimitiveSceneProxy.h:504
float MaxDrawDistance
Definition PrimitiveSceneProxy.h:1804
virtual void OnTransformChanged(FRHICommandListBase &RHICmdList)
Definition PrimitiveSceneProxy.h:608
void SetCustomDepthStencilValue_GameThread(const int32 InCustomDepthStencilValue)
Definition PrimitiveSceneProxy.cpp:1128
float GetMinDrawDistance() const
Definition PrimitiveSceneProxy.h:748
virtual bool IsDetailMesh() const
Definition PrimitiveSceneProxy.h:949
void OverrideOwnerName(FName InOwnerName)
Definition PrimitiveSceneProxy.h:1255
void SetWireframeColor(const FLinearColor &InWireframeColor)
Definition PrimitiveSceneProxy.h:936
bool IsDrawnInEditor() const
Definition PrimitiveSceneProxy.h:1186
uint8 bSupportsSortedTriangles
Definition PrimitiveSceneProxy.h:1569
bool TreatAsBackgroundForOcclusion() const
Definition PrimitiveSceneProxy.h:881
bool AffectsDistanceFieldLighting() const
Definition PrimitiveSceneProxy.h:816
uint8 bCanSkipRedundantTransformUpdates
Definition PrimitiveSceneProxy.h:1398
bool IsVisibleInRayTracing() const
Definition PrimitiveSceneProxy.h:794
virtual void OnEvaluateWorldPositionOffsetChanged_RenderThread()
Definition PrimitiveSceneProxy.h:1829
bool IsRayTracingFarField() const
Definition PrimitiveSceneProxy.h:885
ENGINE_API void ResetSceneVelocity_GameThread()
Definition PrimitiveSceneProxy.cpp:1433
bool AllowApproximateOcclusion() const
Definition PrimitiveSceneProxy.h:847
bool IsCollisionEnabled() const
Definition PrimitiveSceneProxy.h:803
int8 VirtualTextureCullMips
Definition PrimitiveSceneProxy.h:1673
virtual uint8 GetCurrentFirstLODIdx_RenderThread() const
Definition PrimitiveSceneProxy.h:1188
static ENGINE_API void DrawArc(FPrimitiveDrawInterface *PDI, const FVector &Start, const FVector &End, const float Height, const uint32 Segments, const FLinearColor &Color, uint8 DepthPriorityGroup, const float Thickness=0.0f, const bool bScreenSpace=false)
Definition PrimitiveSceneProxy.cpp:1758
bool ShouldNotifyOnWorldAddRemove() const
Definition PrimitiveSceneProxy.h:882
uint8 bAffectDynamicIndirectLighting
Definition PrimitiveSceneProxy.h:1419
uint8 bInstancedSkinnedMesh
Definition PrimitiveSceneProxy.h:1598
bool AlwaysHasVelocity() const
Definition PrimitiveSceneProxy.h:924
const FBoxSphereBounds & GetBounds() const
Definition PrimitiveSceneProxy.h:738
void SetCustomDepthStencilValue_RenderThread(const int32 InCustomDepthStencilValue)
Definition PrimitiveSceneProxy.cpp:1144
FRHIUniformBuffer * GetUniformBuffer() const
Definition PrimitiveSceneProxy.h:856
Definition RHICommandList.h:455
Definition RHICommandList.h:3819
Definition RHIResources.h:1232
Definition RayTracingGeometry.h:31
Definition SceneInterface.h:106
Definition SceneView.h:2212
Definition SceneView.h:1425
Definition ScenePrivate.h:2875
Definition PrimitiveSceneProxy.h:172
const FSimpleLightPerViewEntry & GetViewDependentData(int32 LightIndex, int32 ViewIndex, int32 NumViews) const
Definition PrimitiveSceneProxy.h:189
TArray< FSimpleLightEntry, SceneRenderingAllocator > InstanceData
Definition PrimitiveSceneProxy.h:175
TArray< FSimpleLightInstacePerViewIndexData, SceneRenderingAllocator > InstancePerViewDataIndices
Definition PrimitiveSceneProxy.h:179
TArray< FSimpleLightPerViewEntry, SceneRenderingAllocator > PerViewData
Definition PrimitiveSceneProxy.h:177
Definition PrimitiveSceneProxy.h:136
float SpecularScale
Definition PrimitiveSceneProxy.h:143
FSimpleLightId LightId
Definition PrimitiveSceneProxy.h:148
float Radius
Definition PrimitiveSceneProxy.h:139
bool bAffectTranslucency
Definition PrimitiveSceneProxy.h:145
float Exponent
Definition PrimitiveSceneProxy.h:140
bool bMegaLightsCastShadows
Definition PrimitiveSceneProxy.h:147
float InverseExposureBlend
Definition PrimitiveSceneProxy.h:141
bool bAllowMegaLights
Definition PrimitiveSceneProxy.h:146
FVector3f Color
Definition PrimitiveSceneProxy.h:138
float DiffuseScale
Definition PrimitiveSceneProxy.h:144
float VolumetricScatteringIntensity
Definition PrimitiveSceneProxy.h:142
Definition PrimitiveSceneProxy.h:164
uint32 PerViewIndex
Definition PrimitiveSceneProxy.h:166
uint32 bHasPerViewData
Definition PrimitiveSceneProxy.h:167
Definition PrimitiveSceneProxy.h:153
FVector Position
Definition PrimitiveSceneProxy.h:155
Definition SkinningSceneExtensionProxy.h:17
Definition SceneManagement.h:1293
Definition VertexFactory.h:314
Definition VertexFactory.h:661
Definition HitProxies.h:135
Definition HeterogeneousVolumeInterface.h:12
Definition ComponentInterfaces.h:59
Definition Array.h:670
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_NODEBUG UE_FORCEINLINE_HINT SIZE_T GetAllocatedSize(void) const
Definition Array.h:1059
Definition EnumAsByte.h:22
Definition RefCounting.h:454
Definition SharedPointer.h:692
Definition ShaderParameterMacros.h:136
Definition RuntimeVirtualTexture.h:18
Definition Texture2D.h:26
@ Stationary
Definition EngineTypes.h:3804
@ Static
Definition EngineTypes.h:3795
@ Movable
Definition EngineTypes.h:3812
Type
Definition RHIFeatureLevel.h:20
Definition SkinnedMeshComponent.h:50
int16 CoarseMeshStreamingHandle
Definition PrimitiveSceneProxy.h:55
Definition SceneManagement.h:73
int32 FGeometryGroupHandle
Definition SceneManagement.h:74
Definition VirtualTextureRecreate.cpp:16
Definition Color.h:486
Definition SceneTypes.h:30
Definition PrimitiveSceneProxy.h:67
EType Type
Definition PrimitiveSceneProxy.h:96
uint8 LOD
Definition PrimitiveSceneProxy.h:95
bool IsFixed() const
Definition PrimitiveSceneProxy.h:92
bool IsFirst() const
Definition PrimitiveSceneProxy.h:93
FDesiredLODLevel(uint8 InLOD, EType InType)
Definition PrimitiveSceneProxy.h:87
static FDesiredLODLevel CreateFixed(uint8 LOD)
Definition PrimitiveSceneProxy.h:77
EType
Definition PrimitiveSceneProxy.h:69
static FDesiredLODLevel CreateFirst(uint8 LOD)
Definition PrimitiveSceneProxy.h:82
Definition ShowFlags.h:56
Definition InstanceDataTypes.h:65
Definition EngineTypes.h:562
Definition Color.h:48
static CORE_API const FLinearColor White
Definition Color.h:456
Definition MaterialRelevance.h:13
Definition MeshBatch.h:371
Definition PrimitiveSceneProxyDesc.h:12
Definition PrimitiveSceneProxy.h:1109
ENGINE_API void DrawDebugMass(class FPrimitiveDrawInterface *PDI, const FTransform &ElemTM) const
FQuat LocalTensorOrientation
Definition PrimitiveSceneProxy.h:1111
FVector MassSpaceInertiaTensor
Definition PrimitiveSceneProxy.h:1113
int32 BoneIndex
Definition PrimitiveSceneProxy.h:1114
FVector LocalCenterOfMass
Definition PrimitiveSceneProxy.h:1112
Definition PrimitiveUniformShaderParametersBuilder.h:18
Definition PrimitiveViewRelevance.h:14
Definition RayTracingInstance.h:17
Definition RenderTransform.h:272
Definition HairStrandsInterface.h:597
Definition RenderTransform.h:23
Definition SceneViewOwner.h:12
Definition LightweightStats.h:416
Definition BoxSphereBounds.h:25
static CORE_API const TMatrix Identity
Definition Matrix.h:52
Definition PrimitiveSceneProxy.h:100
FSimpleLightId(int32 InLocalId, int32 InSourcePrimitiveId)
Definition PrimitiveSceneProxy.h:113
bool IsValid() const
Definition PrimitiveSceneProxy.h:123
int32 LocalId
Definition PrimitiveSceneProxy.h:103
FSimpleLightId()
Definition PrimitiveSceneProxy.h:108
bool operator==(FSimpleLightId Other) const
Definition PrimitiveSceneProxy.h:118
int32 SourcePrimitiveId
Definition PrimitiveSceneProxy.h:104
uint64 Packed
Definition PrimitiveSceneProxy.h:106