78namespace UE {
namespace Color {
class FColorSpace; } }
164#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
374#ifndef ALLOW_LQ_LIGHTMAPS
375#define ALLOW_LQ_LIGHTMAPS (PLATFORM_DESKTOP || PLATFORM_IOS || PLATFORM_ANDROID)
379#define ALLOW_HQ_LIGHTMAPS 1
382#if !ALLOW_LQ_LIGHTMAPS && !ALLOW_HQ_LIGHTMAPS
383#error At least one of ALLOW_LQ_LIGHTMAPS and ALLOW_HQ_LIGHTMAPS needs to be defined!
416 bool bAllowHighQualityLightMaps);
424 bool bAllowHighQualityLightMaps);
429 HighQualityTexture(
NULL),
430 SkyOcclusionTexture(
NULL),
431 AOMaterialMaskTexture(
NULL),
448#if ALLOW_LQ_LIGHTMAPS && ALLOW_HQ_LIGHTMAPS
450#elif ALLOW_HQ_LIGHTMAPS
451 return HighQualityTexture;
460#if ALLOW_HQ_LIGHTMAPS
461 return SkyOcclusionTexture;
470#if ALLOW_HQ_LIGHTMAPS
471 return AOMaterialMaskTexture;
480#if ALLOW_HQ_LIGHTMAPS || ALLOW_LQ_LIGHTMAPS
489#if ALLOW_LQ_LIGHTMAPS && ALLOW_HQ_LIGHTMAPS
491#elif ALLOW_HQ_LIGHTMAPS
492 return HighQualityCoefficientScales;
500#if ALLOW_LQ_LIGHTMAPS && ALLOW_HQ_LIGHTMAPS
502#elif ALLOW_HQ_LIGHTMAPS
503 return HighQualityCoefficientAdds;
512 return CoordinateScale;
517 return CoordinateBias;
522#if ALLOW_LQ_LIGHTMAPS && ALLOW_HQ_LIGHTMAPS
523#if PLATFORM_DESKTOP && (!(UE_BUILD_SHIPPING || UE_BUILD_TEST) || WITH_EDITOR)
530#elif ALLOW_HQ_LIGHTMAPS
542#if ALLOW_LQ_LIGHTMAPS && ALLOW_HQ_LIGHTMAPS
543 return bAllowHighQualityLightMaps;
544#elif ALLOW_HQ_LIGHTMAPS
582#if ALLOW_HQ_LIGHTMAPS
590#if ALLOW_LQ_LIGHTMAPS
596#if ALLOW_LQ_LIGHTMAPS && ALLOW_HQ_LIGHTMAPS
597 bool bAllowHighQualityLightMaps;
601#if ALLOW_HQ_LIGHTMAPS || ALLOW_LQ_LIGHTMAPS
645 for (
int Channel = 0; Channel < 4; Channel++)
666 for (
int Channel = 0; Channel < 4; Channel++)
676 ShadowTexture(nullptr),
678 InvUniformPenumbraSize(
FVector4f(0, 0, 0, 0)),
681 for (
int Channel = 0; Channel <
UE_ARRAY_COUNT(bChannelValid); Channel++)
683 bChannelValid[Channel] =
false;
693 return ShadowTexture;
705 return CoordinateScale;
711 return CoordinateBias;
717 return bChannelValid[ChannelIndex];
722 return InvUniformPenumbraSize;
730 bool bChannelValid[4];
763 LightMapTextures[0] =
nullptr;
764 LightMapTextures[1] =
nullptr;
765 SkyOcclusionTexture =
nullptr;
766 AOMaterialMaskTexture =
nullptr;
767 LightMapVirtualTextures[0] =
nullptr;
768 LightMapVirtualTextures[1] =
nullptr;
769 ShadowMapTexture =
nullptr;
791 return LightMapTextures[0] == Rhs.LightMapTextures[0]
792 && LightMapTextures[1] == Rhs.LightMapTextures[1]
793 && SkyOcclusionTexture == Rhs.SkyOcclusionTexture
794 && AOMaterialMaskTexture == Rhs.AOMaterialMaskTexture
795 && LightMapVirtualTextures[0] == Rhs.LightMapVirtualTextures[0]
796 && LightMapVirtualTextures[1] == Rhs.LightMapVirtualTextures[1]
797 && ShadowMapTexture == Rhs.ShadowMapTexture;
867 return ResourceCluster;
877 return PrecomputedLightingUniformBuffer;
897 bool bGlobalVolumeLightmap =
false;
912template<
typename TPendingTextureType>
931 PendingTexture->StartEncoding(LightingContext,
Compressor);
937 PendingTexture->StartEncoding(LightingContext,
Compressor);
1082 bool bCastsDynamicIndirectShadow,
1085 bool bCastsHiddenShadow,
1088 bool bAffectIndirectLightingWhileHidden)
1090 return (bTrackAllPrimitives || bCastsDynamicIndirectShadow)
1092 && (
bIsDrawnInGame || bCastsHiddenShadow || bAffectIndirectLightingWhileHidden)
1195 static ENGINE_API float GetLightExposureScale(
float Exposure,
float InverseExposureBlend);
1269 UE_DEPRECATED(5.3,
"InitPrimitiveResource now requires a command list.")
1328 uint8 DepthPriorityGroup,
1341 uint8 DepthPriorityGroup,
1342 float Thickness = 0.0f,
1343 float DepthBias = 0.0f,
1344 bool bScreenSpace =
false
1351 uint8 DepthPriorityGroup,
1352 float Thickness = 0.0f,
1353 float DepthBias = 0.0f,
1354 bool bScreenSpace =
false
1361 uint8 DepthPriorityGroup
1369 static bool bTriggered =
false;
1374 ensureMsgf(
false,
TEXT(
"FSimpleElementCollector::DrawMesh called"));
1383 static bool bTriggered =
false;
1388 ensureMsgf(
false,
TEXT(
"FSimpleElementCollector::DrawMesh called"));
1404 uint32 NumDynamicResources = 0;
1473 uint32 bHasOpaqueMaterial : 1;
1474 uint32 bHasMaskedMaterial : 1;
1475 uint32 bRenderInMainPass : 1;
1507 bool bAlphaMasked =
false;
1530 UE_DEPRECATED(5.7,
"Use Views array passed directly to GetDynamicRayTracingInstances.")
1542 UE_DEPRECATED(5.7, "Please
specify ViewIndex.")
1547 UE_DEPRECATED(5.7, "Please
specify ViewIndex.")
1595 friend RayTracing::FDynamicRayTracingInstancesContext;
1615 const FMatrix& PreviousLocalToWorld,
1620 bool bReceivesDecals,
1622 bool bOutputVelocity,
1628 const FMatrix& PreviousLocalToWorld,
1632 bool bReceivesDecals,
1634 bool bOutputVelocity,
1640 const FMatrix& PreviousLocalToWorld,
1644 bool bReceivesDecals,
1646 bool bOutputVelocity);
1652 const FMatrix& PreviousLocalToWorld,
1655 bool bReceivesDecals,
1657 bool bOutputVelocity);
1662 const
FMatrix& PreviousLocalToWorld,
1667 bool bReceivesDecals,
1669 bool bOutputVelocity,
1675 const
FMatrix& PreviousLocalToWorld,
1679 bool bReceivesDecals,
1681 bool bOutputVelocity,
1687 const
FMatrix& PreviousLocalToWorld,
1691 bool bReceivesDecals,
1693 bool bOutputVelocity);
1699 const
FMatrix& PreviousLocalToWorld,
1702 bool bReceivesDecals,
1704 bool bOutputVelocity);
1853 LODIndex0 = LODIndex1 = (
uint8)LODIndex;
1859 if (SampleIndex == 0)
1861 LODIndex0 = (
uint8)LODIndex;
1863 else if (SampleIndex == 1)
1865 LODIndex1 = (
uint8)LODIndex;
1884 return IsValid() && !bIsRange && LODIndex0 != LODIndex1;
1888 return IsValid() && bIsRange && LODIndex0 != LODIndex1;
1898 return (
int32)LODIndex0 <= LODIndex && (
int32)LODIndex1 >= LODIndex;
1900 return (
int32)LODIndex0 == LODIndex || (
int32)LODIndex1 == LODIndex;
1904 return IsLODRange() && LODIndex == LODIndex0;
1908 return IsLODRange() && LODIndex == LODIndex1;
1965#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_5
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define NULL
Definition oodle2base.h:134
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define check(expr)
Definition AssertionMacros.h:314
#define ensureMsgf( InExpression, InFormat,...)
Definition AssertionMacros.h:465
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define WORLD_MAX
Definition EngineDefines.h:53
ESceneDepthPriorityGroup
Definition EngineTypes.h:187
@ SDPG_World
Definition EngineTypes.h:189
return true
Definition ExternalRpcRegistry.cpp:601
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
const bool
Definition NetworkReplayStreaming.h:178
ESequencerState
Definition SceneManagement.h:122
@ ESS_Playing
Definition SceneManagement.h:125
@ ESS_None
Definition SceneManagement.h:123
@ ESS_Paused
Definition SceneManagement.h:124
ENGINE_API bool IsRichView(const FSceneViewFamily &ViewFamily)
Definition PrimitiveDrawingUtils.cpp:1576
ENGINE_API bool DoesPlatformSupportDistanceFieldShadowing(EShaderPlatform Platform)
Definition SceneManagement.cpp:44
ENGINE_API bool ShouldCompileDistanceFieldShaders(EShaderPlatform ShaderPlatform)
Definition SceneManagement.cpp:71
ENGINE_API FVector CalcConeVert(float Angle1, float Angle2, float AzimuthAngle)
Definition PrimitiveDrawingUtils.cpp:385
ENGINE_API bool DoesPlatformSupportDistanceFields(const FStaticShaderPlatform Platform)
Definition SceneManagement.cpp:39
float ENGINE_API ComputeBoundsDrawDistance(const float ScreenSize, const float SphereRadius, const FMatrix &ProjMatrix)
Definition SceneManagement.cpp:941
int8 ENGINE_API ComputeStaticMeshLOD(const FStaticMeshRenderData *RenderData, const FVector4 &Origin, const float SphereRadius, const FSceneView &View, int32 MinLOD, float FactorScale=1.0f)
Definition SceneManagement.cpp:989
ENGINE_API void GetLightmapClusterResourceParameters(ERHIFeatureLevel::Type FeatureLevel, const FLightmapClusterResourceInput &Input, const IAllocatedVirtualTexture *AllocatedVT, FLightmapResourceClusterShaderParameters &Parameters)
Definition SceneManagement.cpp:1400
ENGINE_API TGlobalResource< FDefaultLightmapResourceClusterUniformBuffer > GDefaultLightmapResourceClusterUniformBuffer
Definition SceneManagement.cpp:1514
ENGINE_API const FSceneView & GetLODView(const FSceneView &InView)
Definition SceneManagement.cpp:975
ENGINE_API FSharedSamplerState * Clamp_WorldGroupSettings
Definition SceneManagement.cpp:1337
ENGINE_API void BuildCylinderVerts(const FVector &Base, const FVector &XAxis, const FVector &YAxis, const FVector &ZAxis, double Radius, double HalfHeight, uint32 Sides, TArray< FDynamicMeshVertex > &OutVerts, TArray< uint32 > &OutIndices)
Definition PrimitiveDrawingUtils.cpp:576
float ENGINE_API ComputeBoundsScreenSize(const FVector4 &Origin, const float SphereRadius, const FSceneView &View)
Definition SceneManagement.cpp:917
ENGINE_API void BuildConeVerts(float Angle1, float Angle2, float Scale, float XOffset, uint32 NumSides, TArray< FDynamicMeshVertex > &OutVerts, TArray< uint32 > &OutIndices)
Definition PrimitiveDrawingUtils.cpp:423
#define ALLOW_HQ_LIGHTMAPS
Definition SceneManagement.h:379
ENGINE_API FLinearColor GetViewSelectionColor(const FLinearColor &BaseColor, const FSceneView &View, bool bSelected, bool bHovered, bool bUseOverlayIntensity, bool bIndividuallySelected)
Definition PrimitiveDrawingUtils.cpp:1559
ENGINE_API void DrawUVs(FViewport *InViewport, FCanvas *InCanvas, int32 InTextYPos, const int32 LODLevel, int32 UVChannel, TArray< FVector2D > SelectedEdgeTexCoords, class FStaticMeshRenderData *StaticMeshRenderData, class FSkeletalMeshLODRenderData *SkeletalMeshRenderData)
Definition PrimitiveDrawingUtils.cpp:1924
ENGINE_API TGlobalResource< FDefaultMobileReflectionCaptureUniformBuffer > GDefaultMobileReflectionCaptureUniformBuffer
Definition SceneManagement.cpp:1748
ENGINE_API bool DoesPlatformSupportDistanceFieldAO(EShaderPlatform Platform)
Definition SceneManagement.cpp:49
constexpr int32 NUM_LQ_LIGHTMAP_COEF
Definition SceneManagement.h:367
ENGINE_API FLinearColor GetSelectionColor(const FLinearColor &BaseColor, bool bSelected, bool bHovered, bool bUseOverlayIntensity=true)
Definition PrimitiveDrawingUtils.cpp:1547
float ENGINE_API ComputeBoundsScreenRadiusSquared(const FVector4 &Origin, const float SphereRadius, const FSceneView &View)
Definition SceneManagement.cpp:912
constexpr int32 LQ_LIGHTMAP_COEF_INDEX
Definition SceneManagement.h:370
ENGINE_API bool ShouldAllPrimitivesHaveDistanceField(EShaderPlatform ShaderPlatform)
Definition SceneManagement.cpp:64
ENGINE_API void ComputeShadowCullingVolume(bool bReverseCulling, const FVector *CascadeFrustumVerts, const FVector &LightDirection, FConvexVolume &ConvexVolumeOut, FPlane &NearPlaneOut, FPlane &FarPlaneOut)
Definition DirectionalLightComponent.cpp:101
ELightInteractionType
Definition SceneManagement.h:320
@ LIT_CachedSignedDistanceFieldShadowMap2D
Definition SceneManagement.h:324
@ LIT_Dynamic
Definition SceneManagement.h:323
@ LIT_MAX
Definition SceneManagement.h:326
@ LIT_CachedLightMap
Definition SceneManagement.h:322
@ LIT_CachedIrrelevant
Definition SceneManagement.h:321
bool PrimitiveNeedsDistanceFieldSceneData(bool bTrackAllPrimitives, bool bCastsDynamicIndirectShadow, bool bAffectsDistanceFieldLighting, bool bIsDrawnInGame, bool bCastsHiddenShadow, bool bCastsDynamicShadow, bool bAffectsDynamicIndirectLighting, bool bAffectIndirectLightingWhileHidden)
Definition SceneManagement.h:1081
constexpr int32 NUM_HQ_LIGHTMAP_COEF
Definition SceneManagement.h:364
#define ALLOW_LQ_LIGHTMAPS
Definition SceneManagement.h:375
FLODMask ENGINE_API ComputeLODForMeshes(const TArray< class FStaticMeshBatchRelevance > &StaticMeshRelevances, const FSceneView &View, const FVector4 &Origin, float SphereRadius, int32 ForcedLODLevel, float &OutScreenRadiusSquared, int8 CurFirstLODIdx, float ScreenSizeScale=1.0f, bool bDitheredLODTransition=true)
Definition SceneManagement.cpp:1013
ENGINE_API void InitializeSharedSamplerStates()
Definition SceneManagement.cpp:1339
constexpr int32 NUM_STORED_LIGHTMAP_COEF
Definition SceneManagement.h:361
int8 ENGINE_API ComputeTemporalStaticMeshLOD(const FStaticMeshRenderData *RenderData, const FVector4 &Origin, const float SphereRadius, const FSceneView &View, int32 MinLOD, float FactorScale, int32 SampleIndex)
Definition SceneManagement.cpp:953
ENGINE_API bool DoesProjectSupportDistanceFields()
Definition SceneManagement.cpp:54
ENGINE_API void ApplyViewModeOverrides(int32 ViewIndex, const FEngineShowFlags &EngineShowFlags, ERHIFeatureLevel::Type FeatureLevel, const FPrimitiveSceneProxy *PrimitiveSceneProxy, bool bSelected, struct FMeshBatch &Mesh, FMeshElementCollector &Collector)
Definition PrimitiveDrawingUtils.cpp:1609
ENGINE_API TGlobalResource< FDefaultWorkingColorSpaceUniformBuffer > GDefaultWorkingColorSpaceUniformBuffer
Definition SceneManagement.cpp:134
ENGINE_API void BuildTaperedCylinderVerts(const FVector &Base, const FVector &XAxis, const FVector &YAxis, const FVector &ZAxis, double BaseRadius, double TopRadius, double HalfHeight, uint32 Sides, TArray< FDynamicMeshVertex > &OutVerts, TArray< uint32 > &OutIndices)
Definition PrimitiveDrawingUtils.cpp:582
ENGINE_API FSharedSamplerState * Wrap_WorldGroupSettings
Definition SceneManagement.cpp:1336
EShadowMapInteractionType
Definition SceneTypes.h:120
@ SMIT_GlobalVolume
Definition SceneTypes.h:122
@ SMIT_Texture
Definition SceneTypes.h:123
@ SMIT_None
Definition SceneTypes.h:121
ELightMapInteractionType
Definition SceneTypes.h:111
@ LMIT_None
Definition SceneTypes.h:112
@ LMIT_Texture
Definition SceneTypes.h:114
@ LMIT_GlobalVolume
Definition SceneTypes.h:113
@ SE_BLEND_Masked
Definition SceneTypes.h:193
#define SHADER_PARAMETER_TEXTURE(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1708
#define END_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1669
#define SHADER_PARAMETER_SRV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1720
#define SHADER_PARAMETER_SAMPLER(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1740
#define BEGIN_SHADER_PARAMETER_STRUCT(StructTypeName, DllStorage)
Definition ShaderParameterMacros.h:1482
#define BEGIN_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1663
#define END_SHADER_PARAMETER_STRUCT()
Definition ShaderParameterMacros.h:1485
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
uint32 PointerHash(const void *Key)
Definition TypeHash.h:91
#define UE_ARRAY_COUNT(array)
Definition UnrealTemplate.h:212
if(Failed) console_printf("Failed.\n")
Definition SceneManagement.h:914
void DoThreadedWork()
Definition SceneManagement.h:935
void Abandon()
Definition SceneManagement.h:929
FAsyncEncode(TPendingTextureType *InPendingTexture, const FStaticLightingBuildContext *InLightingContext, FThreadSafeCounter &InCounter, ITextureCompressorModule *InCompressor)
Definition SceneManagement.h:923
Definition BatchedElements.h:234
Definition BatchedElements.h:102
bool HasPrimsToDraw() const
Definition BatchedElements.h:208
Definition CanvasTypes.h:211
Definition SceneManagement.h:1267
ENGINE_API void InitPrimitiveResource()
Definition SceneManagement.cpp:261
virtual void InitPrimitiveResource(FRHICommandListBase &RHICmdList)=0
virtual void ReleasePrimitiveResource()=0
Definition GlobalRenderResources.h:300
Definition DynamicBufferAllocator.h:56
Definition GlobalRenderResources.h:216
Definition HitProxies.h:86
Definition SceneManagement.h:820
ENGINE_API ELightInteractionType GetStaticInteraction(const FLightSceneProxy *LightSceneProxy, const TArray< FGuid > &IrrelevantLights) const
Definition SceneManagement.cpp:1548
void SetShadowMap(const FShadowMap *InShadowMap)
Definition SceneManagement.h:854
ENGINE_API FLightMapInteraction GetLightMapInteraction(ERHIFeatureLevel::Type InFeatureLevel) const
Definition SceneManagement.cpp:1516
bool bCanUsePrecomputedLightingParametersFromGPUScene
Definition SceneManagement.h:893
FRHIUniformBuffer * GetPrecomputedLightingBuffer() const
Definition SceneManagement.h:875
const FLightmapResourceCluster * GetResourceCluster() const
Definition SceneManagement.h:865
void SetResourceCluster(const FLightmapResourceCluster *InResourceCluster)
Definition SceneManagement.h:841
void SetPrecomputedLightingBuffer(FRHIUniformBuffer *InPrecomputedLightingUniformBuffer)
Definition SceneManagement.h:880
ENGINE_API void CreatePrecomputedLightingUniformBuffer_RenderingThread(ERHIFeatureLevel::Type FeatureLevel)
Definition SceneManagement.cpp:1350
ENGINE_API FShadowMapInteraction GetShadowMapInteraction(ERHIFeatureLevel::Type InFeatureLevel) const
Definition SceneManagement.cpp:1526
ENGINE_API bool GetVirtualTextureLightmapProducer(ERHIFeatureLevel::Type FeatureLevel, FVirtualTextureProducerHandle &OutProducerHandle)
Definition SceneManagement.cpp:1371
virtual FLightInteraction GetInteraction(const class FLightSceneProxy *LightSceneProxy) const =0
void SetLightMap(const FLightMap *InLightMap)
Definition SceneManagement.h:836
virtual ~FLightCacheInterface()
Definition SceneManagement.h:822
const FShadowMap * GetShadowMap() const
Definition SceneManagement.h:860
const FLightMap * GetLightMap() const
Definition SceneManagement.h:848
void SetGlobalVolumeLightmap(bool bInGlobalVolumeLightmap)
Definition SceneManagement.h:870
Definition SceneManagement.h:333
static FLightInteraction LightMap()
Definition SceneManagement.h:338
FLightInteraction(ELightInteractionType InType)
Definition SceneManagement.h:348
static FLightInteraction ShadowMap2D()
Definition SceneManagement.h:340
ELightInteractionType GetType() const
Definition SceneManagement.h:343
static FLightInteraction Irrelevant()
Definition SceneManagement.h:339
static FLightInteraction Dynamic()
Definition SceneManagement.h:337
Definition SceneManagement.h:390
const FVector2D & GetCoordinateBias() const
Definition SceneManagement.h:514
ELightMapInteractionType GetType() const
Definition SceneManagement.h:443
void SetCoordinateBias(const FVector2D &InCoordinateBias)
Definition SceneManagement.h:575
const ULightMapTexture2D * GetAOMaterialMaskTexture() const
Definition SceneManagement.h:467
const FVector4f * GetScaleArray() const
Definition SceneManagement.h:487
const ULightMapTexture2D * GetSkyOcclusionTexture() const
Definition SceneManagement.h:457
static FLightMapInteraction InitVirtualTexture(const ULightMapVirtualTexture2D *VirtualTexture, const FVector4f *InCoefficientScales, const FVector4f *InCoefficientAdds, const FVector2D &InCoordinateScale, const FVector2D &InCoordinateBias, bool bAllowHighQualityLightMaps)
Definition SceneManagement.cpp:838
void SetCoordinateScale(const FVector2D &InCoordinateScale)
Definition SceneManagement.h:566
bool AllowsHighQualityLightmaps() const
Definition SceneManagement.h:540
const ULightMapTexture2D * GetTexture(bool bHighQuality) const
Definition SceneManagement.h:445
const FVector4f * GetAddArray() const
Definition SceneManagement.h:498
uint32 GetNumLightmapCoefficients() const
Definition SceneManagement.h:520
const ULightMapVirtualTexture2D * GetVirtualTexture() const
Definition SceneManagement.h:477
FLightMapInteraction()
Definition SceneManagement.h:427
static FLightMapInteraction None()
Definition SceneManagement.h:394
const FVector2D & GetCoordinateScale() const
Definition SceneManagement.h:509
static FLightMapInteraction GlobalVolume()
Definition SceneManagement.h:401
void SetLightMapInteractionType(ELightMapInteractionType InType)
Definition SceneManagement.h:557
Definition LightSceneInfo.h:208
Definition LightSceneProxy.h:43
Definition LightMap.h:609
Definition MaterialRenderProxy.h:102
Definition MeshElementCollector.h:26
ENGINE_API void AddViewMeshArrays(const FSceneView *InView, TArray< FMeshBatchAndRelevance, SceneRenderingAllocator > *ViewMeshes, FSimpleElementCollector *ViewSimpleElementCollector, FGPUScenePrimitiveCollector *DynamicPrimitiveCollector, FSimpleElementCollector *DebugSimpleElementCollector=nullptr)
Definition SceneManagement.cpp:490
ENGINE_API void RegisterOneFrameMaterialProxy(FMaterialRenderProxy *Proxy)
Definition SceneManagement.cpp:432
FMeshBatch & AllocateMesh()
Definition MeshElementCollector.h:40
TArray< const FSceneView *, TInlineAllocator< 2, SceneRenderingAllocator > > Views
Definition MeshElementCollector.h:187
Definition SceneManagement.h:1452
virtual ~FOneFrameResource()
Definition SceneManagement.h:1455
Definition SceneManagement.h:1040
Definition PrimitiveDrawInterface.h:19
Definition PrimitiveSceneProxy.h:296
Definition SceneManagement.h:1005
FProjectedShadowInitializer()
Definition SceneManagement.h:1021
float MinLightW
Definition SceneManagement.h:1017
bool IsCachedShadowValid(const FProjectedShadowInitializer &CachedShadow) const
Definition SceneManagement.h:1024
FVector4 WAxis
Definition SceneManagement.h:1016
FMatrix WorldToLight
Definition SceneManagement.h:1011
float MaxDistanceToCastInLightW
Definition SceneManagement.h:1018
FVector2D Scales
Definition SceneManagement.h:1013
FVector PreShadowTranslation
Definition SceneManagement.h:1009
FBoxSphereBounds SubjectBounds
Definition SceneManagement.h:1015
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:1196
Definition RenderGraphResources.h:571
Definition RHICommandList.h:455
Definition RHICommandList.h:3819
Definition RayTracingGeometry.h:31
Definition UObjectGlobals.h:2492
Definition RenderResource.h:37
Definition SceneInterface.h:106
Definition SceneView.h:2212
Definition SceneManagement.h:132
virtual void RemoveLumenSceneData(FSceneInterface *InScene)
Definition SceneManagement.h:247
virtual UMaterialInstanceDynamic * GetReusableMID(class UMaterialInterface *InSource)=0
bool IsViewParent() const
Definition SceneManagement.h:263
virtual FTemporalLODState & GetTemporalLODState()=0
virtual uint32 GetOcclusionFrameCounter() const =0
virtual const FTemporalLODState & GetTemporalLODState() const =0
virtual uint32 GetViewKey() const =0
virtual uint32 GetCurrentTemporalAASampleIndex() const =0
void SetViewParent(FSceneViewStateInterface *)
Definition SceneManagement.h:251
virtual SIZE_T GetSizeBytes() const
Definition SceneManagement.h:147
virtual float GetTemporalLODTransition() const =0
virtual void SystemMemoryMirrorRestore(FSceneViewStateSystemMemoryMirror *SystemMemoryMirror)=0
virtual void AddLumenSceneData(FSceneInterface *InScene, float SurfaceCacheResolution=1.0f)
Definition SceneManagement.h:246
uint8 bValidEyeAdaptationBuffer
Definition SceneManagement.h:279
virtual FRDGPooledBuffer * GetCurrentEyeAdaptationBuffer() const =0
virtual ~FSceneViewStateInterface()
Definition SceneManagement.h:277
virtual FRDGTextureRef GetVolumetricCloudTexture(FRDGBuilder &GraphBuilder)=0
virtual bool HasLumenSceneData() const =0
virtual void SetSequencerState(ESequencerState InSequencerState)=0
virtual float GetPreExposure() const =0
virtual uint32 GetDistanceFieldTemporalSampleIndex() const =0
virtual ESequencerState GetSequencerState()=0
virtual const FViewMatrices * GetFrozenViewMatrices() const =0
virtual FVector2f GetVolumetricCloudTextureUVScale() const =0
virtual FSceneViewState * GetConcreteViewState()=0
bool HasViewParent() const
Definition SceneManagement.h:260
virtual void ResetViewState()=0
virtual void SetExposureCompensationCurve(class UCurveFloat *NewCurve)
Definition SceneManagement.h:216
FSceneViewStateInterface * GetViewParent()
Definition SceneManagement.h:254
FSceneViewStateInterface()
Definition SceneManagement.h:134
bool HasValidEyeAdaptationBuffer() const
Definition SceneManagement.h:205
virtual void ActivateFrozenViewMatrices(FSceneView &SceneView)=0
virtual float GetLastEyeAdaptationExposure() const =0
virtual void AddReferencedObjects(FReferenceCollector &Collector)=0
virtual void ClearMIDPool(FStringView MidParentRootPath={})=0
virtual void RestoreUnfrozenViewMatrices(FSceneView &SceneView)=0
virtual void OnStartPostProcessing(FSceneView &CurrentView)=0
virtual FVector2f GetVolumetricCloudTextureUVMax() const =0
virtual float GetLastAverageSceneLuminance() const =0
virtual void SystemMemoryMirrorBackup(FSceneViewStateSystemMemoryMirror *SystemMemoryMirror)=0
static ENGINE_API TPimplPtr< FSceneViewStateSystemMemoryMirror > SystemMemoryMirrorAllocate()
Definition SceneView.cpp:3221
Definition ScenePrivate.h:746
Definition SceneView.h:1425
Definition ScenePrivate.h:2875
Definition SceneManagement.h:946
float FadePlaneLength
Definition SceneManagement.h:969
float FadePlaneOffset
Definition SceneManagement.h:966
FShadowCascadeSettings()
Definition SceneManagement.h:989
float CascadeBiasDistribution
Definition SceneManagement.h:987
float SplitNearFadeRegion
Definition SceneManagement.h:958
FConvexVolume ShadowBoundsAccurate
Definition SceneManagement.h:972
FPlane FarFrustumPlane
Definition SceneManagement.h:975
float SplitNear
Definition SceneManagement.h:952
int32 ShadowSplitIndex
Definition SceneManagement.h:984
float SplitFar
Definition SceneManagement.h:955
FPlane NearFrustumPlane
Definition SceneManagement.h:974
bool bFarShadowCascade
Definition SceneManagement.h:978
float SplitFarFadeRegion
Definition SceneManagement.h:961
Definition SceneManagement.h:613
const ULightMapVirtualTexture2D * GetVirtualTexture() const
Definition SceneManagement.h:696
EShadowMapInteractionType GetType() const
Definition SceneManagement.h:688
bool GetChannelValid(int32 ChannelIndex) const
Definition SceneManagement.h:714
static FShadowMapInteraction InitVirtualTexture(class ULightMapVirtualTexture2D *InTexture, const FVector2D &InCoordinateScale, const FVector2D &InCoordinateBias, const bool *InChannelValid, const FVector4f &InInvUniformPenumbraSize)
Definition SceneManagement.h:653
static FShadowMapInteraction None()
Definition SceneManagement.h:617
const FVector2D & GetCoordinateScale() const
Definition SceneManagement.h:702
const FVector2D & GetCoordinateBias() const
Definition SceneManagement.h:708
static FShadowMapInteraction Texture(class UShadowMapTexture2D *InTexture, const FVector2D &InCoordinateScale, const FVector2D &InCoordinateBias, const bool *InChannelValid, const FVector4f &InInvUniformPenumbraSize)
Definition SceneManagement.h:631
static FShadowMapInteraction GlobalVolume()
Definition SceneManagement.h:624
UShadowMapTexture2D * GetTexture() const
Definition SceneManagement.h:690
FShadowMapInteraction()
Definition SceneManagement.h:675
FVector4f GetInvUniformPenumbraSize() const
Definition SceneManagement.h:720
Definition ShadowMap.h:227
Definition SceneManagement.h:1939
bool bWrap
Definition SceneManagement.h:1942
virtual void ReleaseRHI() override
Definition SceneManagement.h:1950
FSamplerStateRHIRef SamplerStateRHI
Definition SceneManagement.h:1941
FSharedSamplerState(bool bInWrap)
Definition SceneManagement.h:1944
Definition SceneManagement.h:1397
FAllocationInfo()=default
Definition SceneManagement.h:1313
FBatchedElements BatchedElements
Definition SceneManagement.h:1434
virtual ENGINE_API void RegisterDynamicResource(FDynamicPrimitiveResource *DynamicResource) override
Definition SceneManagement.cpp:266
virtual ENGINE_API void DrawSprite(const FVector &Position, float SizeX, float SizeY, const FTexture *Sprite, const FLinearColor &Color, uint8 DepthPriorityGroup, float U, float UL, float V, float VL, uint8 BlendMode=SE_BLEND_Masked, float OpacityMaskRevVal=.5f) override
Definition SceneManagement.cpp:163
ENGINE_API void AddAllocationInfo(FAllocationInfo &AllocationInfo) const
Definition SceneManagement.cpp:292
virtual ENGINE_API void SetHitProxy(HHitProxy *HitProxy) override
Definition SceneManagement.cpp:151
ENGINE_API void DrawBatchedElements(FRHICommandList &RHICmdList, const FMeshPassProcessorRenderState &DrawRenderState, const FSceneView &InView, EBlendModeFilter::Type Filter, ESceneDepthPriorityGroup DPG, uint32 NumInstances=1) const
Definition SceneManagement.cpp:275
virtual void AddReserveLines(uint8 DepthPriorityGroup, int32 NumLines, bool bDepthBiased=false, bool bThickLines=false) override
Definition SceneManagement.h:1320
virtual ENGINE_API void DrawLine(const FVector &Start, const FVector &End, const FLinearColor &Color, uint8 DepthPriorityGroup, float Thickness=0.0f, float DepthBias=0.0f, bool bScreenSpace=false) override
Definition SceneManagement.cpp:196
FBatchedElements TopBatchedElements
Definition SceneManagement.h:1435
virtual bool IsHitTesting() override
Definition SceneManagement.h:1367
ENGINE_API FSimpleElementCollector()
Definition SceneManagement.cpp:137
bool HasAnyPrimitives() const
Definition SceneManagement.h:1418
virtual int32 DrawMesh(const FMeshBatch &Mesh) override
Definition SceneManagement.h:1381
bool HasPrimitives(ESceneDepthPriorityGroup DPG) const
Definition SceneManagement.h:1423
ENGINE_API ~FSimpleElementCollector()
Definition SceneManagement.cpp:141
virtual ENGINE_API void DrawPoint(const FVector &Position, const FLinearColor &Color, float PointSize, uint8 DepthPriorityGroup) override
Definition SceneManagement.cpp:244
ENGINE_API void Reserve(const FAllocationInfo &AllocationInfo)
Definition SceneManagement.cpp:299
virtual ENGINE_API void DrawTranslucentLine(const FVector &Start, const FVector &End, const FLinearColor &Color, uint8 DepthPriorityGroup, float Thickness=0.0f, float DepthBias=0.0f, bool bScreenSpace=false) override
Definition SceneManagement.cpp:220
Definition SkeletalMeshLODRenderData.h:128
Definition StaticMeshResources.h:774
Definition SceneManagement.h:1293
virtual ~FStaticPrimitiveDrawInterface()
Definition SceneManagement.h:1295
virtual void DrawMesh(const FMeshBatch &Mesh, float ScreenSize)=0
virtual void SetHitProxy(HHitProxy *HitProxy)=0
virtual void ReserveMemoryForMeshes(int32 MeshNum)=0
Definition RenderResource.h:354
Definition ThreadSafeCounter.h:14
int32 Decrement()
Definition ThreadSafeCounter.h:75
Definition SceneManagement.h:1280
virtual void Draw(const FSceneView *View, FPrimitiveDrawInterface *PDI)
Definition SceneManagement.h:1286
Definition UnrealClient.h:412
Definition SceneManagement.h:1047
FShadowCascadeSettings CascadeSettings
Definition SceneManagement.h:1049
FWholeSceneProjectedShadowInitializer()
Definition SceneManagement.h:1053
bool bOnePassPointLightShadow
Definition SceneManagement.h:1050
bool IsCachedShadowValid(const FWholeSceneProjectedShadowInitializer &CachedShadow) const
Definition SceneManagement.h:1058
bool bRayTracedDistanceField
Definition SceneManagement.h:1051
Definition HitProxies.h:135
Definition VirtualTexturing.h:374
Definition IQueuedWork.h:62
Definition RenderResource.h:543
UE_FORCEINLINE_HINT void SafeRelease()
Definition RefCounting.h:599
Definition ContainerAllocationPolicies.h:894
Definition CurveFloat.h:31
Definition ColorSpace.h:98
Definition LightMapTexture2D.h:25
Definition LightmapVirtualTexture.h:22
Definition MaterialInstanceDynamic.h:15
Definition MaterialInterface.h:296
Definition ShadowMapTexture2D.h:13
Definition Texture2D.h:26
Definition Texture.h:1219
Type
Definition BatchedElements.h:30
Definition SceneComponent.h:24
Type
Definition RHIFeatureLevel.h:20
FUniformParams Params
Definition MeshPaintVirtualTexture.cpp:162
Definition SceneManagement.h:73
int32 FGeometryGroupHandle
Definition SceneManagement.h:74
Definition AdvancedWidgetsModule.cpp:13
Definition VirtualTextureRecreate.cpp:16
@ false
Definition radaudio_common.h:23
Definition ConvexVolume.h:44
Definition SceneTypes.h:30
Definition DynamicMeshBuilder.h:26
Definition ShowFlags.h:56
Definition SceneManagement.h:1831
bool IsValid() const
Definition SceneManagement.h:1847
uint16 LODIndex1
Definition SceneManagement.h:1835
bool IsMaxLODInRange(int32 LODIndex) const
Definition SceneManagement.h:1906
bool IsMinLODInRange(int32 LODIndex) const
Definition SceneManagement.h:1902
uint16 bIsRange
Definition SceneManagement.h:1837
uint16 LODIndex0
Definition SceneManagement.h:1834
void SetLOD(uint32 LODIndex)
Definition SceneManagement.h:1851
int8 GetRayTracedLOD() const
Definition SceneManagement.h:1913
bool IsDithered() const
Definition SceneManagement.h:1882
void SetLODSample(uint32 LODIndex, uint32 SampleIndex)
Definition SceneManagement.h:1857
void ClampToFirstLOD(uint32 FirstLODIdx)
Definition SceneManagement.h:1877
FLODMask()
Definition SceneManagement.h:1839
bool IsLODRange() const
Definition SceneManagement.h:1886
bool ContainsLOD(int32 LODIndex) const
Definition SceneManagement.h:1890
uint16 bIsValid
Definition SceneManagement.h:1836
void SetLODRange(uint32 MinLODIndex, uint32 MaxLODIndex)
Definition SceneManagement.h:1870
Definition SceneManagement.h:1192
FVector2f RectLightAtlasUVOffset
Definition SceneManagement.h:1241
float SourceRadius
Definition SceneManagement.h:1223
float IESAtlasIndex
Definition SceneManagement.h:1246
FVector3f Tangent
Definition SceneManagement.h:1220
static float GetRectLightAtlasInvalidMIPLevel()
Definition SceneManagement.h:1257
uint32 LightFunctionAtlasLightIndex
Definition SceneManagement.h:1249
float InverseExposureBlend
Definition SceneManagement.h:1254
float DiffuseScale
Definition SceneManagement.h:1216
FVector3f Direction
Definition SceneManagement.h:1210
float RectLightBarnCosAngle
Definition SceneManagement.h:1235
float RectLightBarnLength
Definition SceneManagement.h:1238
float FalloffExponent
Definition SceneManagement.h:1207
float SoftSourceRadius
Definition SceneManagement.h:1229
float SourceLength
Definition SceneManagement.h:1232
FVector2f RectLightAtlasUVScale
Definition SceneManagement.h:1242
float InvRadius
Definition SceneManagement.h:1201
FLinearColor Color
Definition SceneManagement.h:1204
float SpecularScale
Definition SceneManagement.h:1213
float RectLightAtlasMaxLevel
Definition SceneManagement.h:1243
uint32 bAffectsTranslucentLighting
Definition SceneManagement.h:1252
FVector WorldPosition
Definition SceneManagement.h:1198
FVector2f SpotAngles
Definition SceneManagement.h:1226
static constexpr UE_FORCEINLINE_HINT T Clamp(const T X, const T MinValue, const T MaxValue)
Definition UnrealMathUtility.h:592
Definition SceneManagement.h:1462
const FPrimitiveSceneProxy * PrimitiveSceneProxy
Definition SceneManagement.h:1466
bool GetHasMaskedMaterial() const
Definition SceneManagement.h:1481
const FMeshBatch * Mesh
Definition SceneManagement.h:1463
bool GetHasOpaqueOrMaskedMaterial() const
Definition SceneManagement.h:1482
bool GetHasOpaqueMaterial() const
Definition SceneManagement.h:1480
bool GetRenderInMainPass() const
Definition SceneManagement.h:1483
Definition MeshBatch.h:371
Definition MeshPassProcessor.h:2118
Definition RHIUtilities.h:181
Definition RayTracingInstance.h:17
Definition SceneViewStateSystemMemory.h:22
Definition SceneManagement.h:93
float TemporalLODLag
Definition SceneManagement.h:99
ENGINE_API void UpdateTemporalLODTransition(const FSceneView &View, float LastRenderTime)
Definition SceneManagement.cpp:77
float TemporalLODTime[2]
Definition SceneManagement.h:97
FTemporalLODState()
Definition SceneManagement.h:101
float GetTemporalLODTransition(float LastRenderTime) const
Definition SceneManagement.h:109
FVector TemporalLODViewOrigin[2]
Definition SceneManagement.h:95
Definition SceneView.h:317
Definition BoxSphereBounds.h:25
TVector< TExtent > BoxExtent
Definition BoxSphereBounds.h:32
TExtent SphereRadius
Definition BoxSphereBounds.h:35
TVector< T > Origin
Definition BoxSphereBounds.h:29
static CORE_API const TMatrix Identity
Definition Matrix.h:52
Definition VirtualTexturing.h:33