UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMobileSceneRenderer Class Reference

#include <SceneRendering.h>

+ Inheritance diagram for FMobileSceneRenderer:

Classes

struct  FInitViewTaskDatas
 

Public Member Functions

 FMobileSceneRenderer (const FSceneViewFamily *InViewFamily, FHitProxyConsumer *HitProxyConsumer)
 
virtual void Render (FRDGBuilder &GraphBuilder, const FSceneRenderUpdateInputs *SceneUpdateInputs) override
 
virtual void RenderHitProxies (FRDGBuilder &GraphBuilder, const FSceneRenderUpdateInputs *SceneUpdateInputs) override
 
virtual bool ShouldRenderVelocities () const override
 
virtual bool ShouldRenderPrePass () const override
 
virtual bool AllowSimpleLights () const override
 
- Public Member Functions inherited from FSceneRenderer
bool IsHeadLink () const
 
template<typename LambdaType >
void EnumerateLinkedViews (LambdaType &&Lambda, const FSceneView *ViewToSkip=nullptr)
 
template<typename LambdaType >
void EnumerateLinkedViewFamilies (LambdaType &&Lambda, const FSceneViewFamily *ViewFamilyToSkip=nullptr)
 
 FSceneRenderer (const FSceneViewFamily *InViewFamily, FHitProxyConsumer *HitProxyConsumer)
 
virtual ~FSceneRenderer ()
 
virtual UE::Renderer::Private::IShadowInvalidatingInstancesGetShadowInvalidatingInstancesInterface (const FSceneView *SceneView) override
 
virtual FViewFamilyInfoGetViewFamily () override
 
virtual bool ShouldRenderNanite () const
 
void PrepareViewRectsForRendering ()
 
void DoCrossGPUTransfers (FRDGBuilder &GraphBuilder, FRDGTextureRef ViewFamilyTexture, TArrayView< FViewInfo > InViews, bool bCrossGPUTransferFencesDefer, FRHIGPUMask RenderTargetGPUMask, class FCrossGPUTransfersDeferred *TransfersDeferred)
 
void FlushCrossGPUTransfers (FRDGBuilder &GraphBuilder)
 
void FlushCrossGPUFences (FRDGBuilder &GraphBuilder)
 
bool DoOcclusionQueries () const
 
void FenceOcclusionTests (FRDGBuilder &GraphBuilder)
 
void WaitOcclusionTests (FRHICommandListImmediate &RHICmdList)
 
bool ShouldDumpMeshDrawCommandInstancingStats () const
 
void RenderSkyAtmosphereInternal (FRDGBuilder &GraphBuilder, const FSceneTextureShaderParameters &SceneTextures, FSkyAtmosphereRenderContext &SkyRenderContext)
 
void RenderVolumetricCloudsInternal (FRDGBuilder &GraphBuilder, FCloudRenderContext &CloudRC, FInstanceCullingManager &InstanceCullingManager, const FIntPoint &CloudViewportSize)
 
FGPUSceneDynamicContextGetGPUSceneDynamicContext ()
 
void VoxelizeFogVolumePrimitives (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FVolumetricFogIntegrationParameterData &IntegrationData, FIntVector VolumetricFogGridSize, FVector GridZParams, float VolumetricFogDistance, bool bVoxelizeEmissive)
 
void RenderLightFunctionForVolumetricFog (FRDGBuilder &GraphBuilder, FViewInfo &View, const FSceneTextures &SceneTextures, FIntVector VolumetricFogGridSize, float VolumetricFogMaxDistance, FLightSceneInfo *DirectionalLightSceneInfo, FMatrix44f &OutLightFunctionTranslatedWorldToShadow, FRDGTexture *&OutLightFunctionTexture)
 
void RenderLocalLightsForVolumetricFog (FRDGBuilder &GraphBuilder, FViewInfo &View, int32 ViewIndex, bool bUseTemporalReprojection, const struct FVolumetricFogIntegrationParameterData &IntegrationData, const FExponentialHeightFogSceneInfo &FogInfo, FIntVector VolumetricFogGridSize, FVector GridZParams, const FRDGTextureDesc &VolumeDesc, FRDGTextureRef ConservativeDepthTexture, TConstArrayView< const FLightSceneInfo * > LightsToInject, TConstArrayView< const FLightSceneInfo * > RayTracedLightsToInject, FRDGTexture *&OutLocalShadowedLightScattering)
 
void RenderCapsuleShadowsForMovableSkylight (FRDGBuilder &GraphBuilder, const FViewInfo &View, FRDGTextureRef &BentNormalOutput) const
 
void RenderDistanceFieldAOScreenGrid (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, const FViewInfo &View, const FDistanceFieldCulledObjectBufferParameters &CulledObjectBufferParameters, FRDGBufferRef ObjectTilesIndirectArguments, const FTileIntersectionParameters &TileIntersectionParameters, const FDistanceFieldAOParameters &Parameters, FRDGTextureRef DistanceFieldNormal, FRDGTextureRef &OutDynamicBentNormalAO)
 
void RenderDistanceFieldLighting (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, const class FDistanceFieldAOParameters &Parameters, TArray< FRDGTextureRef > &OutDynamicBentNormalAOTextures, bool bModulateToSceneColor, bool bVisualizeAmbientOcclusion, bool bModulateToScreenSpaceAO=false)
 
void SetupVolumetricFog ()
 
bool ShouldRenderVolumetricFog () const
 
void ComputeVolumetricFog (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures)
 
virtual bool IsLumenEnabled (const FViewInfo &View) const
 
virtual bool IsLumenGIEnabled (const FViewInfo &View) const
 
virtual bool AnyViewHasGIMethodSupportingDFAO () const
 
FORCEINLINE FSceneTexturesGetActiveSceneTextures ()
 
FORCEINLINE FSceneTexturesConfigGetActiveSceneTexturesConfig ()
 
FORCEINLINE const FSceneTexturesGetActiveSceneTextures () const
 
FORCEINLINE const FSceneTexturesConfigGetActiveSceneTexturesConfig () const
 
 DECLARE_MULTICAST_DELEGATE_OneParam (FSceneOnScreenMessagesDelegate, FScreenMessageWriter &)
 
TConstStridedView< FSceneViewGetSceneViews () const
 
bool IsRenderingStereo () const
 
- Public Member Functions inherited from FSceneRendererBase
 FSceneRendererBase ()
 
 FSceneRendererBase (FScene &InScene)
 
FSceneGetScene () final override
 
const FSceneUniformBufferGetSceneUniforms () const final override
 
FSceneUniformBufferGetSceneUniforms () final override
 
TRDGUniformBufferRef< FSceneUniformParameters > GetSceneUniformBufferRef (FRDGBuilder &GraphBuilder) override final
 
void InitSceneExtensionsRenderers (const FEngineShowFlags &EngineShowFlags, bool bValidateCallbacks=false)
 
FSceneExtensionsRenderersGetSceneExtensionsRenderers ()
 
const FSceneExtensionsRenderersGetSceneExtensionsRenderers () const
 
virtual FDeferredShadingSceneRendererGetDeferredShadingSceneRenderer ()
 
- Public Member Functions inherited from ISceneRenderer
virtual ~ISceneRenderer ()=default
 

Static Public Member Functions

static bool RequiresMultiPass (int32 NumMSAASamples, EShaderPlatform ShaderPlatform)
 
static bool ShouldRenderCustomDepth (const FViewInfo &View)
 
- Static Public Member Functions inherited from FSceneRenderer
static void PreallocateCrossGPUFences (TConstArrayView< FSceneRenderer * > SceneRenderers)
 
static bool ShouldCompositeEditorPrimitives (const FViewInfo &View)
 
static FIntPoint ApplyResolutionFraction (const FSceneViewFamily &ViewFamily, const FIntPoint &UnscaledViewSize, float ResolutionFraction)
 
static FIntPoint QuantizeViewRectMin (const FIntPoint &ViewRectMin)
 
static FIntPoint GetDesiredInternalBufferSize (const FSceneViewFamily &ViewFamily)
 
static ISceneViewFamilyScreenPercentageForkScreenPercentageInterface (const ISceneViewFamilyScreenPercentage *ScreenPercentageInterface, FSceneViewFamily &ForkedViewFamily)
 
static int32 GetRefractionQuality (const FSceneViewFamily &ViewFamily)
 
static void SetStereoViewport (FRHICommandList &RHICmdList, const FViewInfo &View, float ViewportScale=1.0f)
 
static void GetLightNameForDrawEvent (const FLightSceneProxy *LightProxy, FString &LightNameWithLevel)
 
- Static Public Member Functions inherited from FSceneRendererBase
static void SetActiveInstance (FRDGBuilder &GraphBuilder, FSceneRendererBase *SceneRenderer)
 
static FSceneRendererBaseGetActiveInstance (FRDGBuilder &GraphBuilder)
 

Protected Member Functions

FDynamicShadowsTaskDataInitDynamicShadows (FRDGBuilder &GraphBuilder, FInstanceCullingManager &FInstanceCullingManager)
 
void PrepareViewVisibilityLists ()
 
void BuildCSMVisibilityState (FLightSceneInfo *LightSceneInfo)
 
void InitViews (FRDGBuilder &GraphBuilder, FSceneTexturesConfig &SceneTexturesConfig, FInstanceCullingManager &InstanceCullingManager, FVirtualTextureUpdater *VirtualTextureUpdater, FInitViewTaskDatas &TaskDatas)
 
void RenderPrePass (FRHICommandList &RHICmdList, const FViewInfo &View, const FInstanceCullingDrawParams *InstanceCullingDrawParams)
 
void RenderMaskedPrePass (FRHICommandList &RHICmdList, const FViewInfo &View, const FInstanceCullingDrawParams *DepthPassInstanceCullingDrawParams)
 
void RenderFullDepthPrepass (FRDGBuilder &GraphBuilder, TArrayView< FViewInfo > InViews, FSceneTextures &SceneTextures, FInstanceCullingManager &InstanceCullingManager, bool bIsSceneCaptureRenderPass=false)
 
void RenderVelocityPass (FRHICommandList &RHICmdList, const FViewInfo &View, const FInstanceCullingDrawParams *InstanceCullingDrawParams)
 
void RenderMobileLocalLightsBuffer (FRDGBuilder &GraphBuilder, FSceneTextures &SceneTextures, const FSortedLightSetSceneInfo &SortedLights)
 
void RenderCustomRenderPassBasePass (FRDGBuilder &GraphBuilder, TArrayView< FViewInfo > InViews, FRDGTextureRef ViewFamilyTexture, FSceneTextures &SceneTextures, FInstanceCullingManager &InstanceCullingManager, bool bIncludeTranslucent)
 
void RenderMobileBasePass (FRHICommandList &RHICmdList, const FViewInfo &View, const FInstanceCullingDrawParams *InstanceCullingDrawParams, const FInstanceCullingDrawParams *SkyPassInstanceCullingDrawParams)
 
void PostRenderBasePass (FRHICommandList &RHICmdList, FViewInfo &View)
 
void RenderMobileEditorPrimitives (FRHICommandList &RHICmdList, const FViewInfo &View, const FMeshPassProcessorRenderState &DrawRenderState, const FInstanceCullingDrawParams *InstanceCullingDrawParams)
 
void RenderMobileDebugView (FRHICommandList &RHICmdList, const FViewInfo &View, const FInstanceCullingDrawParams *DebugViewModeInstanceCullingDrawParams)
 
void RenderModulatedShadowProjections (FRHICommandList &RHICmdList, int32 ViewIndex, const FViewInfo &View)
 
void RenderOcclusion (FRHICommandList &RHICmdList, FViewInfo &View, const struct FViewOcclusionQueries &ViewOcclusionQueries)
 
bool ShouldRenderHZB (TArrayView< FViewInfo > InViews)
 
void RenderHZB (FRHICommandListImmediate &RHICmdList, const TRefCountPtr< IPooledRenderTarget > &SceneDepthZ)
 
void RenderHZB (FRDGBuilder &GraphBuilder, FRDGTextureRef SceneDepthTexture)
 
int32 ComputeNumOcclusionQueriesToBatch () const
 
void RenderDecals (FRHICommandList &RHICmdList, FViewInfo &View, const FInstanceCullingDrawParams *InstanceCullingDrawParams)
 
void RenderDBuffer (FRDGBuilder &GraphBuilder, FSceneTextures &SceneTextures, FDBufferTextures &DBufferTextures, FInstanceCullingManager &InstanceCullingManager)
 
void RenderFog (FRHICommandList &RHICmdList, const FViewInfo &View)
 
void PreTonemapMSAA (FRHICommandList &RHICmdList, const FMinimalSceneTextures &SceneTextures)
 
void SetupMobileBasePassAfterShadowInit (FExclusiveDepthStencil::Type BasePassDepthStencilAccess, TArrayView< FViewCommands > ViewCommandsPerView, FInstanceCullingManager &InstanceCullingManager)
 
void UpdateDirectionalLightUniformBuffers (FRDGBuilder &GraphBuilder, const FViewInfo &View)
 
void UpdateSkyReflectionUniformBuffer (FRHICommandListBase &RHICmdList)
 
void RenderForward (FRDGBuilder &GraphBuilder, FRDGTextureRef ViewFamilyTexture, FSceneTextures &SceneTextures, FMobileBasePassTextures &BasePassTextures, FInstanceCullingManager &InstanceCullingManager)
 
void RenderForwardSinglePass (FRDGBuilder &GraphBuilder, class FMobileRenderPassParameters *PassParameters, struct FRenderViewContext &ViewContext, FSceneTextures &SceneTextures, FInstanceCullingManager &InstanceCullingManager, struct FViewOcclusionQueries *ViewOcclusionQueries)
 
void RenderForwardMultiPass (FRDGBuilder &GraphBuilder, class FMobileRenderPassParameters *PassParameters, struct FRenderViewContext &ViewContext, FSceneTextures &SceneTextures, FInstanceCullingManager &InstanceCullingManager, struct FViewOcclusionQueries *ViewOcclusionQueries)
 
void RenderDeferredSinglePass (FRDGBuilder &GraphBuilder, FSceneTextures &SceneTextures, const FSortedLightSetSceneInfo &SortedLightSet, FMobileBasePassTextures &BasePassTextures, FInstanceCullingManager &InstanceCullingManager)
 
void RenderDeferredMultiPass (FRDGBuilder &GraphBuilder, FSceneTextures &SceneTextures, const FSortedLightSetSceneInfo &SortedLightSet, FMobileBasePassTextures &BasePassTextures, FInstanceCullingManager &InstanceCullingManager)
 
void RenderStereoMotionVectors (FRDGBuilder &GraphBuilder, FViewInfo &View, const FSceneTextures &SceneTextures, FInstanceCullingManager &InstanceCullingManager)
 
bool HasStereoMotionVectorRenderTargets (const FSceneTextures &SceneTextures)
 
FRDGTextureRef RenderAmbientOcclusion (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures)
 
void RenderMobileScreenSpaceShadows (FRDGBuilder &GraphBuilder, FIntPoint Extent, FRDGTextureRef ScreenShadowMaskTexture)
 
FRDGTextureRef RenderMobileShadowProjections (FRDGBuilder &GraphBuilder, FIntPoint Extent, bool bIsMobileMultiView)
 
FRenderTargetBindingSlots InitRenderTargetBindings_Deferred (FSceneTextures &SceneTextures, FColorTargets &ColorTargets)
 
FRenderTargetBindingSlots InitRenderTargetBindings_Forward (FRDGTextureRef ViewFamilyTexture, FSceneTextures &SceneTextures)
 
FColorTargets GetColorTargets_Deferred (FSceneTextures &SceneTextures)
 
- Protected Member Functions inherited from FSceneRenderer
ERendererOutput GetRendererOutput () const
 
FDynamicShadowsTaskDataBeginInitDynamicShadows (FRDGBuilder &GraphBuilder, bool bRunningEarly, IVisibilityTaskData *VisibilityTaskData, FInstanceCullingManager &InstanceCullingManager)
 
void FinishInitDynamicShadows (FRDGBuilder &GraphBuilder, FDynamicShadowsTaskData *TaskData)
 
void FinishDynamicShadowMeshPassSetup (FRDGBuilder &GraphBuilder, FDynamicShadowsTaskData *TaskData)
 
FDynamicShadowsTaskDataInitDynamicShadows (FRDGBuilder &GraphBuilder, FInstanceCullingManager &InstanceCullingManager)
 
void CreateDynamicShadows (FDynamicShadowsTaskData &TaskData)
 
void FilterDynamicShadows (FDynamicShadowsTaskData &TaskData)
 
void SetupMeshPass (FViewInfo &View, FExclusiveDepthStencil::Type BasePassDepthStencilAccess, FViewCommands &ViewCommands, FInstanceCullingManager &InstanceCullingManager)
 
void RenderShadowProjections (FRDGBuilder &GraphBuilder, FRDGTextureRef OutputTexture, const FMinimalSceneTextures &SceneTextures, const FLightSceneProxy *LightSceneProxy, TArrayView< const FProjectedShadowInfo *const > Shadows, bool bSubPixelShadow, bool bProjectingForForwardShading)
 
void RenderShadowProjections (FRDGBuilder &GraphBuilder, const FMinimalSceneTextures &SceneTextures, FRDGTextureRef ScreenShadowMaskTexture, FRDGTextureRef ScreenShadowMaskSubPixelTexture, const FLightSceneInfo *LightSceneInfo, bool bProjectingForForwardShading)
 
void BeginAsyncDistanceFieldShadowProjections (FRDGBuilder &GraphBuilder, const FMinimalSceneTextures &SceneTextures, const FDynamicShadowsTaskData *TaskData) const
 
TRefCountPtr< FProjectedShadowInfoGetCachedPreshadow (const FLightPrimitiveInteraction *InParentInteraction, const FProjectedShadowInitializer &Initializer, const FBoxSphereBounds &Bounds, uint32 InResolutionX)
 
void CreatePerObjectProjectedShadow (FDynamicShadowsTaskData &TaskData, FLightPrimitiveInteraction *Interaction, bool bCreateTranslucentObjectShadow, bool bCreateInsetObjectShadow, const TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &ViewDependentWholeSceneShadows, TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &OutPreShadows)
 
void SetupInteractionShadows (FDynamicShadowsTaskData &TaskData, FLightPrimitiveInteraction *Interaction, FVisibleLightInfo &VisibleLightInfo, bool bStaticSceneOnly, const TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &ViewDependentWholeSceneShadows, TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &PreShadows)
 
void AddViewDependentWholeSceneShadowsForView (TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &ShadowInfos, TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &ShadowInfosThatNeedCulling, FVisibleLightInfo &VisibleLightInfo, FLightSceneInfo &LightSceneInfo, int64 CachedShadowMapsSize, uint32 &NumCSMCachesUpdatedThisFrame)
 
void AllocateShadowDepthTargets (FDynamicShadowsTaskData &TaskData)
 
void AllocateAtlasedShadowDepthTargets (FRHICommandListBase &RHICmdList, TConstArrayView< FProjectedShadowInfo * > Shadows, TArray< FSortedShadowMapAtlas, SceneRenderingAllocator > &OutAtlases)
 
void AllocateCachedShadowDepthTargets (FRHICommandListBase &RHICmdList, TConstArrayView< FProjectedShadowInfo * > CachedShadows)
 
void AllocateCSMDepthTargets (FRHICommandListBase &RHICmdList, TConstArrayView< FProjectedShadowInfo * > WholeSceneDirectionalShadows, TArray< FSortedShadowMapAtlas, SceneRenderingAllocator > &OutAtlases)
 
void AllocateOnePassPointLightDepthTargets (FRHICommandListBase &RHICmdList, TConstArrayView< FProjectedShadowInfo * > WholeScenePointShadows)
 
void AllocateTranslucentShadowDepthTargets (FRHICommandListBase &RHICmdList, TConstArrayView< FProjectedShadowInfo * > TranslucentShadows)
 
void AllocateMobileCSMAndSpotLightShadowDepthTargets (FRHICommandListBase &RHICmdList, TConstArrayView< FProjectedShadowInfo * > MobileCSMAndSpotLightShadows)
 
bool CheckForProjectedShadows (const FLightSceneInfo *LightSceneInfo) const
 
void BeginGatherShadowPrimitives (FDynamicShadowsTaskData *TaskData, IVisibilityTaskData *VisibilityTaskData)
 
void FinishGatherShadowPrimitives (FDynamicShadowsTaskData *TaskData)
 
void RenderShadowDepthMaps (FRDGBuilder &GraphBuilder, FDynamicShadowsTaskData *DynamicShadowsTaskData, FInstanceCullingManager &InstanceCullingManager, FRDGExternalAccessQueue &ExternalAccessQueue)
 
void RenderShadowDepthMapAtlases (FRDGBuilder &GraphBuilder)
 
void CreateWholeSceneProjectedShadow (FDynamicShadowsTaskData &TaskData, FLightSceneInfo *LightSceneInfo, int64 CachedShadowMapsSize, uint32 &NumPointShadowCachesUpdatedThisFrame, uint32 &NumSpotShadowCachesUpdatedThisFrame)
 
void UpdatePreshadowCache ()
 
void InitProjectedShadowVisibility (FDynamicShadowsTaskData &TaskData)
 
void DrawDebugShadowFrustum (FViewInfo &View, FProjectedShadowInfo &ProjectedShadowInfo)
 
void GatherShadowDynamicMeshElements (FDynamicShadowsTaskData &TaskData)
 
bool RenderCapsuleDirectShadows (FRDGBuilder &GraphBuilder, const FLightSceneInfo &LightSceneInfo, FRDGTextureRef ScreenShadowMaskTexture, TArrayView< const FProjectedShadowInfo *const > CapsuleShadows, bool bProjectingForForwardShading) const
 
void PreVisibilityFrameSetup (FRDGBuilder &GraphBuilder)
 
void GatherReflectionCaptureLightMeshElements ()
 
void PostVisibilityFrameSetup (FILCUpdatePrimTaskData *&OutILCTaskData)
 
void InitFogConstants ()
 
bool ShouldRenderTranslucency () const
 
IVisibilityTaskDataOnRenderBegin (FRDGBuilder &GraphBuilder, const FSceneRenderUpdateInputs *SceneUpdateInputs)
 
void OnRenderFinish (FRDGBuilder &GraphBuilder, FRDGTextureRef ViewFamilyTexture)
 
bool RenderCustomDepthPass (FRDGBuilder &GraphBuilder, FCustomDepthTextures &CustomDepthTextures, const FSceneTextureShaderParameters &SceneTextures, TConstArrayView< Nanite::FRasterResults > PrimaryNaniteRasterResults, TConstArrayView< Nanite::FPackedView > PrimaryNaniteViews)
 
void UpdatePrimitiveIndirectLightingCacheBuffers (FRHICommandListBase &RHICmdList)
 
void RenderPlanarReflection (class FPlanarReflectionSceneProxy *ReflectionSceneProxy)
 
void InitSkyAtmosphereForViews (FRHICommandListImmediate &RHICmdList, FRDGBuilder &GraphBuilder)
 
void RenderSkyAtmosphereLookUpTables (FRDGBuilder &GraphBuilder, class FSkyAtmospherePendingRDGResources &PendingRDGResources)
 
void RenderSkyAtmosphere (FRDGBuilder &GraphBuilder, const FMinimalSceneTextures &SceneTextures)
 
void InitVolumetricCloudsForViews (FRDGBuilder &GraphBuilder, bool bShouldRenderVolumetricCloud, FInstanceCullingManager &InstanceCullingManager)
 
bool RenderVolumetricCloud (FRDGBuilder &GraphBuilder, const FMinimalSceneTextures &SceneTextures, bool bSkipVolumetricRenderTarget, bool bSkipPerPixelTracing, FRDGTextureRef HalfResolutionDepthCheckerboardMinMaxTexture, FRDGTextureRef QuarterResolutionDepthMinMaxTexture, bool bAsyncCompute, FInstanceCullingManager &InstanceCullingManager)
 
void RenderSkyAtmosphereEditorNotifications (FRDGBuilder &GraphBuilder, TArrayView< FViewInfo > InViews, FRDGTextureRef SceneColorTexture) const
 
void GatherAndSortLights (FSortedLightSetSceneInfo &OutSortedLights, bool bShadowedLightsInClustered=false)
 
void UpdateLightFunctionAtlasTaskFunction ()
 
FComputeLightGridOutput ComputeLightGrid (FRDGBuilder &GraphBuilder, bool bCullLightsToGrid, const FSortedLightSetSceneInfo &SortedLightSet, TArray< FForwardLightUniformParameters *, TInlineAllocator< 2 > > &PerViewForwardLightUniformParameters)
 
FComputeLightGridOutput PrepareForwardLightData (FRDGBuilder &GraphBuilder, bool bCullLightsToGrid, const FSortedLightSetSceneInfo &SortedLightSet)
 
bool CheckForLightFunction (const FLightSceneInfo *LightSceneInfo) const
 
void SetupSceneReflectionCaptureBuffer (FRHICommandListImmediate &RHICmdList)
 
void RenderVelocities (FRDGBuilder &GraphBuilder, TArrayView< FViewInfo > InViews, const FSceneTextures &SceneTextures, EVelocityPass VelocityPass, bool bForceVelocity, bool bBindRenderTarget=true)
 
void RenderMeshDistanceFieldVisualization (FRDGBuilder &GraphBuilder, const FMinimalSceneTextures &SceneTextures)
 
void CheckShadowDepthRenderCompleted () const
 
virtual void ComputeLightVisibility ()
 

Static Protected Member Functions

static void RenderTranslucency (FRHICommandList &RHICmdList, const FViewInfo &View, TArrayView< FViewInfo > FamilyViewInfos, ETranslucencyPass::Type InStandardTranslucencyPass, EMeshPass::Type InStandardTranslucencyMeshPass, const FInstanceCullingDrawParams *InTranslucencyInstanceCullingDrawParams)
 
- Static Protected Member Functions inherited from FSceneRenderer
static void GatherSimpleLights (const FSceneViewFamily &ViewFamily, const TArray< FViewInfo > &Views, FSimpleLightArray &SimpleLights)
 
static bool ShouldRenderTranslucency (ETranslucencyPass::Type TranslucencyPass, TArrayView< FViewInfo > InViews)
 
static bool ShouldRenderSkyAtmosphereEditorNotifications (TArrayView< FViewInfo > Views)
 
static void CreateSplitScreenDebugViewFamilies (const FSceneViewFamily &InFamily, TArray< const FSceneViewFamily * > &OutViewFamilies, TArray< const FSceneViewFamily *, TFixedAllocator< 2 > > &OutFamiliesStorage)
 
static void DestroySplitScreenDebugViewFamilies (TConstArrayView< const FSceneViewFamily * > ViewFamilies)
 

Additional Inherited Members

- Public Attributes inherited from FSceneRenderer
FDepthPassInfo DepthPass
 
FSceneRenderingBulkObjectAllocator Allocator
 
FViewFamilyInfo ViewFamily
 
TArray< FCustomRenderPassInfoCustomRenderPassInfos
 
TArray< FViewInfo * > AllViews
 
struct { 
 
   FSceneRenderer *   Head = nullptr 
 
   FSceneRenderer *   Next = nullptr 
 
Link 
 
DynamicRenderScaling::TMap< floatDynamicResolutionFractions
 
DynamicRenderScaling::TMap< floatDynamicResolutionUpperBounds
 
TArray< FVisibleLightInfo, SceneRenderingAllocatorVisibleLightInfos
 
UE::FMutex DispatchedShadowDepthPassesMutex
 
TArray< FParallelMeshDrawCommandPass *, SceneRenderingAllocatorDispatchedShadowDepthPasses
 
FSortedShadowMaps SortedShadowsForShadowDepthPass
 
FVirtualShadowMapArray VirtualShadowMapArray
 
LightFunctionAtlas::FLightFunctionAtlas LightFunctionAtlas
 
bool bHasRequestedToggleFreeze
 
bool bUsedPrecomputedVisibility
 
TArray< FString, SceneRenderingAllocatorUsedWholeScenePointLightNames
 
ERHIFeatureLevel::Type FeatureLevel
 
EShaderPlatform ShaderPlatform
 
bool bGPUMasksComputed
 
FRHIGPUMask RenderTargetGPUMask
 
FSceneOnScreenMessagesDelegate OnGetOnScreenMessages
 
- Public Attributes inherited from FSceneRendererBase
FSceneScene = nullptr
 
TArray< FViewInfoViews
 
- Static Public Attributes inherited from FSceneRenderer
static FOcclusionSubmittedFenceState OcclusionSubmittedFence [FOcclusionQueryHelpers::MaxBufferedOcclusionFrames]
 
static FGlobalBoundShaderState OcclusionTestBoundShaderState
 
static TGlobalResource< FGlobalDynamicReadBufferDynamicReadBufferForInitViews
 
static TGlobalResource< FGlobalDynamicReadBufferDynamicReadBufferForRayTracing
 
static TGlobalResource< FGlobalDynamicReadBufferDynamicReadBufferForShadows
 
- Protected Types inherited from FSceneRenderer
enum class  ERendererOutput { DepthPrepassOnly , FinalSceneColor }
 
- Protected Attributes inherited from FSceneRenderer
FIntPoint FamilySize
 
class FFXSystemInterfaceFXSystem = nullptr
 
bool bDumpMeshDrawCommandInstancingStats
 
FGPUSceneDynamicContext GPUSceneDynamicContext
 

Detailed Description

Renderer that implements simple forward shading and associated features.

Constructor & Destructor Documentation

◆ FMobileSceneRenderer()

FMobileSceneRenderer::FMobileSceneRenderer ( const FSceneViewFamily InViewFamily,
FHitProxyConsumer HitProxyConsumer 
)

Member Function Documentation

◆ AllowSimpleLights()

bool FMobileSceneRenderer::AllowSimpleLights ( ) const
overridevirtual

Reimplemented from FSceneRenderer.

◆ BuildCSMVisibilityState()

void FMobileSceneRenderer::BuildCSMVisibilityState ( FLightSceneInfo LightSceneInfo)
protected

Build visibility lists on CSM receivers and non-csm receivers.

◆ ComputeNumOcclusionQueriesToBatch()

int32 FMobileSceneRenderer::ComputeNumOcclusionQueriesToBatch ( ) const
protected

Computes how many queries will be issued this frame

◆ GetColorTargets_Deferred()

FColorTargets FMobileSceneRenderer::GetColorTargets_Deferred ( FSceneTextures SceneTextures)
protected

◆ HasStereoMotionVectorRenderTargets()

bool FMobileSceneRenderer::HasStereoMotionVectorRenderTargets ( const FSceneTextures SceneTextures)
protected

◆ InitDynamicShadows()

FDynamicShadowsTaskData * FMobileSceneRenderer::InitDynamicShadows ( FRDGBuilder GraphBuilder,
FInstanceCullingManager InstanceCullingManager 
)
protected

Finds the visible dynamic shadows for each view.

◆ InitRenderTargetBindings_Deferred()

FRenderTargetBindingSlots FMobileSceneRenderer::InitRenderTargetBindings_Deferred ( FSceneTextures SceneTextures,
FColorTargets ColorTargets 
)
protected

◆ InitRenderTargetBindings_Forward()

FRenderTargetBindingSlots FMobileSceneRenderer::InitRenderTargetBindings_Forward ( FRDGTextureRef  ViewFamilyTexture,
FSceneTextures SceneTextures 
)
protected

◆ InitViews()

void FMobileSceneRenderer::InitViews ( FRDGBuilder GraphBuilder,
FSceneTexturesConfig SceneTexturesConfig,
FInstanceCullingManager InstanceCullingManager,
FVirtualTextureUpdater VirtualTextureUpdater,
FInitViewTaskDatas TaskDatas 
)
protected

Initialize scene's views. Check visibility, sort translucent items, etc.

◆ PostRenderBasePass()

void FMobileSceneRenderer::PostRenderBasePass ( FRHICommandList RHICmdList,
FViewInfo View 
)
protected

◆ PrepareViewVisibilityLists()

void FMobileSceneRenderer::PrepareViewVisibilityLists ( )
protected

◆ PreTonemapMSAA()

void FMobileSceneRenderer::PreTonemapMSAA ( FRHICommandList RHICmdList,
const FMinimalSceneTextures SceneTextures 
)
protected

On chip pre-tonemap before scene color MSAA resolve (iOS only)

◆ Render()

void FMobileSceneRenderer::Render ( FRDGBuilder GraphBuilder,
const FSceneRenderUpdateInputs SceneUpdateInputs 
)
overridevirtual

Implements FSceneRenderer.

◆ RenderAmbientOcclusion()

FRDGTextureRef FMobileSceneRenderer::RenderAmbientOcclusion ( FRDGBuilder GraphBuilder,
const FSceneTextures SceneTextures 
)
protected

◆ RenderCustomRenderPassBasePass()

void FMobileSceneRenderer::RenderCustomRenderPassBasePass ( FRDGBuilder GraphBuilder,
TArrayView< FViewInfo InViews,
FRDGTextureRef  ViewFamilyTexture,
FSceneTextures SceneTextures,
FInstanceCullingManager InstanceCullingManager,
bool  bIncludeTranslucent 
)
protected

◆ RenderDBuffer()

void FMobileSceneRenderer::RenderDBuffer ( FRDGBuilder GraphBuilder,
FSceneTextures SceneTextures,
FDBufferTextures DBufferTextures,
FInstanceCullingManager InstanceCullingManager 
)
protected

◆ RenderDecals()

void FMobileSceneRenderer::RenderDecals ( FRHICommandList RHICmdList,
FViewInfo View,
const FInstanceCullingDrawParams InstanceCullingDrawParams 
)
protected

Renders decals.

◆ RenderDeferredMultiPass()

void FMobileSceneRenderer::RenderDeferredMultiPass ( FRDGBuilder GraphBuilder,
FSceneTextures SceneTextures,
const FSortedLightSetSceneInfo SortedLightSet,
FMobileBasePassTextures BasePassTextures,
FInstanceCullingManager InstanceCullingManager 
)
protected

◆ RenderDeferredSinglePass()

void FMobileSceneRenderer::RenderDeferredSinglePass ( FRDGBuilder GraphBuilder,
FSceneTextures SceneTextures,
const FSortedLightSetSceneInfo SortedLightSet,
FMobileBasePassTextures BasePassTextures,
FInstanceCullingManager InstanceCullingManager 
)
protected

◆ RenderFog()

void FMobileSceneRenderer::RenderFog ( FRHICommandList RHICmdList,
const FViewInfo View 
)
protected

Renders the atmospheric and height fog

◆ RenderForward()

void FMobileSceneRenderer::RenderForward ( FRDGBuilder GraphBuilder,
FRDGTextureRef  ViewFamilyTexture,
FSceneTextures SceneTextures,
FMobileBasePassTextures BasePassTextures,
FInstanceCullingManager InstanceCullingManager 
)
protected

◆ RenderForwardMultiPass()

void FMobileSceneRenderer::RenderForwardMultiPass ( FRDGBuilder GraphBuilder,
class FMobileRenderPassParameters PassParameters,
struct FRenderViewContext ViewContext,
FSceneTextures SceneTextures,
FInstanceCullingManager InstanceCullingManager,
struct FViewOcclusionQueries ViewOcclusionQueries 
)
protected

◆ RenderForwardSinglePass()

void FMobileSceneRenderer::RenderForwardSinglePass ( FRDGBuilder GraphBuilder,
class FMobileRenderPassParameters PassParameters,
struct FRenderViewContext ViewContext,
FSceneTextures SceneTextures,
FInstanceCullingManager InstanceCullingManager,
struct FViewOcclusionQueries ViewOcclusionQueries 
)
protected

◆ RenderFullDepthPrepass()

void FMobileSceneRenderer::RenderFullDepthPrepass ( FRDGBuilder GraphBuilder,
TArrayView< FViewInfo InViews,
FSceneTextures SceneTextures,
FInstanceCullingManager InstanceCullingManager,
bool  bIsSceneCaptureRenderPass = false 
)
protected

◆ RenderHitProxies()

void FMobileSceneRenderer::RenderHitProxies ( FRDGBuilder GraphBuilder,
const FSceneRenderUpdateInputs SceneUpdateInputs 
)
overridevirtual

Reimplemented from FSceneRenderer.

◆ RenderHZB() [1/2]

void FMobileSceneRenderer::RenderHZB ( FRDGBuilder GraphBuilder,
FRDGTextureRef  SceneDepthTexture 
)
protected

◆ RenderHZB() [2/2]

void FMobileSceneRenderer::RenderHZB ( FRHICommandListImmediate RHICmdList,
const TRefCountPtr< IPooledRenderTarget > &  SceneDepthZ 
)
protected

Generate HZB

◆ RenderMaskedPrePass()

void FMobileSceneRenderer::RenderMaskedPrePass ( FRHICommandList RHICmdList,
const FViewInfo View,
const FInstanceCullingDrawParams DepthPassInstanceCullingDrawParams 
)
protected

◆ RenderMobileBasePass()

void FMobileSceneRenderer::RenderMobileBasePass ( FRHICommandList RHICmdList,
const FViewInfo View,
const FInstanceCullingDrawParams InstanceCullingDrawParams,
const FInstanceCullingDrawParams SkyPassInstanceCullingDrawParams 
)
protected

Renders the opaque base pass for mobile.

◆ RenderMobileDebugView()

void FMobileSceneRenderer::RenderMobileDebugView ( FRHICommandList RHICmdList,
const FViewInfo View,
const FInstanceCullingDrawParams DebugViewModeInstanceCullingDrawParams 
)
protected

Renders the debug view pass for mobile.

◆ RenderMobileEditorPrimitives()

void FMobileSceneRenderer::RenderMobileEditorPrimitives ( FRHICommandList RHICmdList,
const FViewInfo View,
const FMeshPassProcessorRenderState DrawRenderState,
const FInstanceCullingDrawParams InstanceCullingDrawParams 
)
protected

◆ RenderMobileLocalLightsBuffer()

void FMobileSceneRenderer::RenderMobileLocalLightsBuffer ( FRDGBuilder GraphBuilder,
FSceneTextures SceneTextures,
const FSortedLightSetSceneInfo SortedLights 
)
protected

◆ RenderMobileScreenSpaceShadows()

void FMobileSceneRenderer::RenderMobileScreenSpaceShadows ( FRDGBuilder GraphBuilder,
FIntPoint  Extent,
FRDGTextureRef  ScreenShadowMaskTexture 
)
protected

◆ RenderMobileShadowProjections()

FRDGTextureRef FMobileSceneRenderer::RenderMobileShadowProjections ( FRDGBuilder GraphBuilder,
FIntPoint  Extent,
bool  bIsMobileMultiView 
)
protected

◆ RenderModulatedShadowProjections()

void FMobileSceneRenderer::RenderModulatedShadowProjections ( FRHICommandList RHICmdList,
int32  ViewIndex,
const FViewInfo View 
)
protected

Render modulated shadow projections in to the scene, loops over any unrendered shadows until all are processed.

◆ RenderOcclusion()

void FMobileSceneRenderer::RenderOcclusion ( FRHICommandList RHICmdList,
FViewInfo View,
const struct FViewOcclusionQueries ViewOcclusionQueries 
)
protected

Issues occlusion queries

◆ RenderPrePass()

void FMobileSceneRenderer::RenderPrePass ( FRHICommandList RHICmdList,
const FViewInfo View,
const FInstanceCullingDrawParams InstanceCullingDrawParams 
)
protected

◆ RenderStereoMotionVectors()

void FMobileSceneRenderer::RenderStereoMotionVectors ( FRDGBuilder GraphBuilder,
FViewInfo View,
const FSceneTextures SceneTextures,
FInstanceCullingManager InstanceCullingManager 
)
protected

◆ RenderTranslucency()

void FMobileSceneRenderer::RenderTranslucency ( FRHICommandList RHICmdList,
const FViewInfo View,
TArrayView< FViewInfo FamilyViewInfos,
ETranslucencyPass::Type  InStandardTranslucencyPass,
EMeshPass::Type  InStandardTranslucencyMeshPass,
const FInstanceCullingDrawParams InTranslucencyInstanceCullingDrawParams 
)
staticprotected

Renders the base pass for translucency.

◆ RenderVelocityPass()

void FMobileSceneRenderer::RenderVelocityPass ( FRHICommandList RHICmdList,
const FViewInfo View,
const FInstanceCullingDrawParams InstanceCullingDrawParams 
)
protected

◆ RequiresMultiPass()

bool FMobileSceneRenderer::RequiresMultiPass ( int32  NumMSAASamples,
EShaderPlatform  ShaderPlatform 
)
static

Whether platform requires multiple render-passes for SceneColor rendering

◆ SetupMobileBasePassAfterShadowInit()

void FMobileSceneRenderer::SetupMobileBasePassAfterShadowInit ( FExclusiveDepthStencil::Type  BasePassDepthStencilAccess,
TArrayView< FViewCommands ViewCommandsPerView,
FInstanceCullingManager InstanceCullingManager 
)
protected

◆ ShouldRenderCustomDepth()

bool FMobileSceneRenderer::ShouldRenderCustomDepth ( const FViewInfo View)
static

Check if custom depth pass should be rendered with current view info

◆ ShouldRenderHZB()

bool FMobileSceneRenderer::ShouldRenderHZB ( TArrayView< FViewInfo InViews)
protected

◆ ShouldRenderPrePass()

bool FMobileSceneRenderer::ShouldRenderPrePass ( ) const
overridevirtual

Reimplemented from FSceneRenderer.

◆ ShouldRenderVelocities()

bool FMobileSceneRenderer::ShouldRenderVelocities ( ) const
overridevirtual

Reimplemented from FSceneRenderer.

◆ UpdateDirectionalLightUniformBuffers()

void FMobileSceneRenderer::UpdateDirectionalLightUniformBuffers ( FRDGBuilder GraphBuilder,
const FViewInfo View 
)
protected

◆ UpdateSkyReflectionUniformBuffer()

void FMobileSceneRenderer::UpdateSkyReflectionUniformBuffer ( FRHICommandListBase RHICmdList)
protected

The documentation for this class was generated from the following files: