88 const TCHAR* OutputName);
95 const TCHAR* OutputName);
403 check(DepthStencilState);
404 check(VertexDeclaration);
478template<
typename TSetupFunction>
504template <
typename PixelShaderType>
539template <
typename PixelShaderType>
553 AddDrawScreenPass(GraphBuilder,
Forward<FRDGEventName&&>(PassName), ViewInfo, OutputViewport,
InputViewport,
VertexShader,
PixelShader, BlendState, DepthStencilState,
PixelShaderParameters,
Flags);
556template <
typename PixelShaderType>
570 AddDrawScreenPass(GraphBuilder,
Forward<FRDGEventName&&>(PassName), ViewInfo, OutputViewport,
InputViewport,
VertexShader,
PixelShader, BlendState, DepthStencilState,
PixelShaderParameters,
Flags);
573template <
typename PixelShaderType>
587 AddDrawScreenPass(GraphBuilder,
Forward<FRDGEventName&&>(PassName), ViewInfo, OutputViewport,
InputViewport,
VertexShader,
PixelShader, BlendState, DepthStencilState,
PixelShaderParameters,
Flags);
590template <
typename PixelShaderType>
605 AddDrawScreenPass(GraphBuilder,
Forward<FRDGEventName&&>(PassName), ViewInfo, OutputViewport,
InputViewport,
VertexShader,
PixelShader, BlendState, DepthStencilState,
PixelShaderParameters,
Flags);
611template <
typename TSetupFunction,
typename TPassParameterStruct>
636template <
typename TSetupFunction,
typename TPassParameterStruct>
713template <
typename TFunction>
725template <
typename TFunction>
741 const bool bFlush =
false;
#define check(expr)
Definition AssertionMacros.h:314
TGlobalResource< FFilterVertexDeclaration, FRenderResource::EInitPhase::Pre > GFilterVertexDeclaration
Definition CommonRenderResources.cpp:13
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
FGlobalShaderMap * GetGlobalShaderMap(EShaderPlatform Platform)
Definition GlobalShader.cpp:539
ERenderTargetLoadAction
Definition RHIDefinitions.h:1253
ERHIFeatureLevel::Type GMaxRHIFeatureLevel
Definition RHI.cpp:1338
void ClearUnusedGraphResources(const TShaderRef< TShaderClass > &Shader, const FShaderParametersMetadata *ParametersMetadata, typename TShaderClass::FParameters *InoutParameters, std::initializer_list< FRDGResourceRef > ExcludeList={})
Definition RenderGraphUtils.h:195
FScreenPassTextureViewportParameters RENDERER_API GetScreenPassTextureViewportParameters(const FScreenPassTextureViewport &InViewport)
Definition ScreenPass.cpp:185
FIntRect GetDownscaledRect(FIntRect Rect, FIntPoint Divisor)
Definition ScreenPass.inl:27
FIntPoint GetDownscaledExtent(FIntPoint Extent, FIntPoint Divisor)
Definition ScreenPass.inl:5
FRDGTextureRef RENDERER_API TryCreateViewFamilyDepthTexture(FRDGBuilder &GraphBuilder, const FSceneViewFamily &ViewFamily)
Definition ScreenPass.cpp:45
FScreenPassTextureViewport GetDownscaledViewport(FScreenPassTextureViewport Viewport, FIntPoint Divisor)
Definition ScreenPass.inl:58
FIntPoint GetScaledExtent(FIntPoint Extent, FVector2D Multiplier)
Definition ScreenPass.inl:13
RENDERER_API bool IsHMDHiddenAreaMaskActive()
Definition SceneRendering.cpp:859
RENDERER_API void AddDownsampleDepthPass(FRDGBuilder &GraphBuilder, const FViewInfo &View, FScreenPassTexture Input, FScreenPassRenderTarget Output, EDownsampleDepthFilter DownsampleDepthFilter)
Definition ScreenPass.cpp:430
RENDERER_API void DrawScreenPass_PostSetup(FRHICommandList &RHICmdList, const FScreenPassViewInfo &ViewInfo, const FScreenPassTextureViewport &OutputViewport, const FScreenPassTextureViewport &InputViewport, const FScreenPassPipelineState &PipelineState, EScreenPassDrawFlags Flags)
Definition ScreenPass.cpp:258
FRDGTextureRef RENDERER_API TryCreateViewFamilyTexture(FRDGBuilder &GraphBuilder, const FSceneViewFamily &ViewFamily)
Definition ScreenPass.cpp:33
FIntRect GetScaledRect(FIntRect Rect, FVector2D Multiplier)
Definition ScreenPass.inl:45
void RENDERER_API SetScreenPassPipelineState(FRHICommandList &RHICmdList, const FScreenPassPipelineState &ScreenPassDraw)
Definition ScreenPass.cpp:243
void RENDERER_API AddDrawTexturePass(FRDGBuilder &GraphBuilder, FScreenPassViewInfo ViewInfo, FRDGTextureRef InputTexture, FRDGTextureRef OutputTexture, FIntPoint InputPosition=FIntPoint::ZeroValue, FIntPoint OutputPosition=FIntPoint::ZeroValue, FIntPoint Size=FIntPoint::ZeroValue)
Definition ScreenPass.cpp:333
FRHITexture * GetMiniFontTexture()
Definition ScreenPass.cpp:21
EDownsampleDepthFilter
Definition ScreenPass.h:746
@ MinAndMaxDepthFromMinAndMaxDepth
FIntRect GetRectFromExtent(FIntPoint Extent)
Definition ScreenPass.inl:72
void DrawScreenPass(FRHICommandList &RHICmdList, FScreenPassViewInfo ViewInfo, const FScreenPassTextureViewport &OutputViewport, const FScreenPassTextureViewport &InputViewport, const FScreenPassPipelineState &PipelineState, EScreenPassDrawFlags Flags, TSetupFunction SetupFunction)
Definition ScreenPass.h:479
FScreenPassTextureInput GetScreenPassTextureInput(FScreenPassTexture Input, FRHISamplerState *Sampler)
Definition ScreenPass.inl:409
void AddDrawScreenPass(FRDGBuilder &GraphBuilder, FRDGEventName &&PassName, FScreenPassViewInfo ViewInfo, const FScreenPassTextureViewport &OutputViewport, const FScreenPassTextureViewport &InputViewport, const TShaderRef< FShader > &VertexShader, const TShaderRef< PixelShaderType > &PixelShader, FRHIBlendState *BlendState, FRHIDepthStencilState *DepthStencilState, typename PixelShaderType::FParameters *PixelShaderParameters, EScreenPassDrawFlags Flags=EScreenPassDrawFlags::None)
Definition ScreenPass.h:505
EScreenPassDrawFlags
Definition ScreenPass.h:419
void AddRenderTargetPass(FRDGBuilder &GraphBuilder, FRDGEventName &&PassName, FScreenPassRenderTarget Output, TFunction &&Function)
Definition ScreenPass.h:714
void AddDrawCanvasPass(FRDGBuilder &GraphBuilder, FRDGEventName &&PassName, const FSceneView &View, FScreenPassRenderTarget Output, TFunction Function)
Definition ScreenPass.h:726
FScreenPassTextureViewport GetScaledViewport(FScreenPassTextureViewport Viewport, FVector2D Multiplier)
Definition ScreenPass.inl:65
#define SHADER_PARAMETER_RDG_TEXTURE(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1752
#define SHADER_PARAMETER_SAMPLER(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1740
#define BEGIN_SHADER_PARAMETER_STRUCT(StructTypeName, DllStorage)
Definition ShaderParameterMacros.h:1482
#define SHADER_PARAMETER_STRUCT_INCLUDE(StructType, MemberName)
Definition ShaderParameterMacros.h:1895
#define END_SHADER_PARAMETER_STRUCT()
Definition ShaderParameterMacros.h:1485
#define SHADER_PARAMETER_RDG_TEXTURE_SRV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1764
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
void SetShaderParameters(FRHIBatchedShaderParameters &BatchedParameters, const FShaderParameterBindings &Bindings, const FShaderParametersMetadata *ParametersMetadata, const void *InParametersData)
Definition ShaderParameterStruct.cpp:883
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint32 Size
Definition VulkanMemory.cpp:4034
Definition CanvasTypes.h:211
ENGINE_API void SetRenderTargetRect(const FIntRect &ViewRect)
Definition Canvas.cpp:1056
ENGINE_API void Flush_RenderThread(FRHICommandListImmediate &RHICmdList, bool bForce=false)
Definition Canvas.cpp:768
static ENGINE_API FCanvas * Create(FRDGBuilder &GraphBuilder, FRDGTextureRef InRenderTarget, FHitProxyConsumer *InHitProxyConsumer, const FGameTime &Time, ERHIFeatureLevel::Type InFeatureLevel, float InDPIScale=1.0f)
Definition Canvas.cpp:310
Definition GlobalShader.h:173
Definition GlobalShader.h:269
Definition RenderGraphBuilder.h:49
ParameterStructType * AllocParameters()
Definition RenderGraphBuilder.inl:170
FRDGPassRef AddPass(FRDGEventName &&Name, const ParameterStructType *ParameterStruct, ERDGPassFlags Flags, ExecuteLambdaType &&ExecuteLambda)
Definition RenderGraphEvent.h:38
Definition RenderGraphResources.h:839
Definition RenderGraphResources.h:571
const FRDGTextureDesc Desc
Definition RenderGraphResources.h:575
Definition RHIResources.h:696
Definition RHICommandList.h:3819
void SetViewport(float MinX, float MinY, float MinZ, float MaxX, float MaxY, float MaxZ)
Definition RHICommandList.h:4015
Definition RHIResources.h:686
Definition RHIResources.h:671
Definition RHIResources.h:2153
Definition RHIResources.h:725
Definition SceneView.h:2212
FGameTime Time
Definition SceneView.h:2327
float DebugDPIScale
Definition SceneView.h:2402
Definition SceneView.h:1425
const FSceneViewFamily * Family
Definition SceneView.h:1427
ERHIFeatureLevel::Type GetFeatureLevel() const
Definition SceneView.h:2004
Definition ScreenPass.h:136
bool operator!=(const FScreenPassTextureViewport &Other) const
Definition ScreenPass.inl:188
FScreenPassTextureViewport()=default
FIntPoint Extent
Definition ScreenPass.h:179
FScreenPassTextureViewport(FRDGTextureRef InTexture, FIntRect InRect)
Definition ScreenPass.h:162
FScreenPassTextureViewport(FRDGTextureRef InTexture)
Definition ScreenPass.h:148
FScreenPassTextureViewport(FIntPoint InExtent, FIntRect InRect)
Definition ScreenPass.h:157
FScreenPassTextureViewport(FIntRect InRect)
Definition ScreenPass.h:140
bool operator==(const FScreenPassTextureViewport &Other) const
Definition ScreenPass.inl:183
FIntRect Rect
Definition ScreenPass.h:182
FScreenPassTextureViewport(FIntPoint InExtent)
Definition ScreenPass.h:152
FVector2D GetRectToExtentRatio() const
Definition ScreenPass.inl:203
bool IsEmpty() const
Definition ScreenPass.inl:193
bool IsFullscreen() const
Definition ScreenPass.inl:198
Definition ScreenPass.h:29
FScreenPassVS(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition ScreenPass.h:34
DECLARE_EXPORTED_GLOBAL_SHADER(FScreenPassVS, RENDERER_API)
Definition SceneRendering.h:1132
Definition AndroidPlatformMisc.h:14
Definition RHIStaticStates.h:349
Definition RHIStaticStates.h:233
static RHIParamRefType GetRHI()
Definition RHIStaticStates.h:57
Type
Definition RHIFeatureLevel.h:20
Definition RenderGraphDefinitions.h:103
FIntPoint Extent
Definition RHIResources.h:1856
Definition ShaderParameterMacros.h:525
Definition ScreenPass.h:377
TShaderRef< FShader > PixelShader
Definition ScreenPass.h:408
FScreenPassPipelineState(const TShaderRef< FShader > &InVertexShader, const TShaderRef< FShader > &InPixelShader, FRHIBlendState *InBlendState=FDefaultBlendState::GetRHI(), FRHIDepthStencilState *InDepthStencilState=FDefaultDepthStencilState::GetRHI(), uint8 InStencilRef=0, FRHIVertexDeclaration *InVertexDeclaration=GFilterVertexDeclaration.VertexDeclarationRHI)
Definition ScreenPass.h:383
FScreenPassPipelineState()=default
TShaderRef< FShader > VertexShader
Definition ScreenPass.h:407
void Validate() const
Definition ScreenPass.h:398
Definition ScreenPass.h:83
FScreenPassRenderTarget(FRDGTextureRef InTexture, FIntRect InViewRect, ERenderTargetLoadAction InLoadAction)
Definition ScreenPass.h:121
bool operator!=(FScreenPassRenderTarget Other) const
Definition ScreenPass.inl:159
FScreenPassRenderTarget()=default
static FScreenPassRenderTarget CreateViewFamilyOutput(FRDGTextureRef ViewFamilyTexture, const FViewInfo &View)
Definition ScreenPass.cpp:157
ERenderTargetLoadAction LoadAction
Definition ScreenPass.h:131
FScreenPassRenderTarget(FRDGTextureRef InTexture, ERenderTargetLoadAction InLoadAction)
Definition ScreenPass.h:116
bool operator==(FScreenPassRenderTarget Other) const
Definition ScreenPass.inl:154
FScreenPassRenderTarget(FScreenPassTexture InTexture, ERenderTargetLoadAction InLoadAction)
Definition ScreenPass.h:111
static RENDERER_API FScreenPassRenderTarget CreateFromInput(FRDGBuilder &GraphBuilder, FScreenPassTexture Input, ERenderTargetLoadAction OutputLoadAction, const TCHAR *OutputName)
Definition ScreenPass.cpp:125
FScreenPassRenderTarget(FScreenPassTexture InTexture)
Definition ScreenPass.h:101
FRenderTargetBinding GetRenderTargetBinding() const
Definition ScreenPass.inl:164
Definition ScreenPass.h:65
static RENDERER_API FScreenPassTextureSlice CreateFromScreenPassTexture(FRDGBuilder &GraphBuilder, const FScreenPassTexture &ScreenTexture)
Definition ScreenPass.cpp:115
FRDGTextureSRVRef TextureSRV
Definition ScreenPass.h:77
bool IsValid() const
Definition ScreenPass.inl:139
bool operator!=(FScreenPassTextureSlice Other) const
Definition ScreenPass.inl:149
FScreenPassTextureSlice()=default
bool operator==(FScreenPassTextureSlice Other) const
Definition ScreenPass.inl:144
FIntRect ViewRect
Definition ScreenPass.h:78
Definition ScreenPass.h:41
FRDGTextureRef Texture
Definition ScreenPass.h:59
bool operator==(FScreenPassTexture Other) const
Definition ScreenPass.inl:119
static RENDERER_API FScreenPassTexture CopyFromSlice(FRDGBuilder &GraphBuilder, const FScreenPassTextureSlice &ScreenTextureSlice, FScreenPassTexture OverrideOutput=FScreenPassTexture())
Definition ScreenPass.cpp:62
FIntRect ViewRect
Definition ScreenPass.h:60
bool operator!=(FScreenPassTexture Other) const
Definition ScreenPass.inl:124
FScreenPassTexture()
Definition ScreenPass.h:42
bool IsValid() const
Definition ScreenPass.inl:114
void UpdateVisualizeTextureExtent()
Definition ScreenPass.inl:86
Definition ScreenPass.h:429
FScreenPassViewInfo(ERHIFeatureLevel::Type InFeatureLevel)
Definition ScreenPass.h:440
FScreenPassViewInfo()
Definition ScreenPass.h:435
FScreenPassViewInfo(const FSceneView &View)
Definition ScreenPass.h:448
const int32 StereoViewIndex
Definition ScreenPass.h:431
const bool bHMDHiddenAreaMaskActive
Definition ScreenPass.h:433
const int32 InstanceCount
Definition ScreenPass.h:432
FScreenPassViewInfo(const FSceneView &View, const uint32 OverrideInstanceCount)
Definition ScreenPass.h:456
const ERHIFeatureLevel::Type FeatureLevel
Definition ScreenPass.h:430
Definition LinuxPlatformSplash.cpp:43
IntType Y
Definition IntPoint.h:37
static const TIntPoint ZeroValue
Definition IntPoint.h:45
IntType X
Definition IntPoint.h:34
IntPointType Max
Definition IntRect.h:37
IntPointType Min
Definition IntRect.h:34
IntPointType Size() const
Definition IntRect.h:449