![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <CustomRenderPass.h>
Inheritance diagram for FCustomRenderPassBase:Public Types | |
| enum class | ERenderMode : uint8 { DepthPass , DepthAndBasePass } |
| enum class | ERenderOutput : uint8 { SceneDepth , DeviceDepth , SceneColorAndDepth , SceneColorAndAlpha , SceneColorNoAlpha , BaseColor , Normal , MAX } |
| enum class | ERenderCaptureType { NoCapture , Capture , BeginCapture , EndCapture } |
Protected Member Functions | |
| virtual void | OnBeginPass (FRDGBuilder &GraphBuilder) |
| virtual void | OnPreRender (FRDGBuilder &GraphBuilder) |
| virtual void | OnPostRender (FRDGBuilder &GraphBuilder) |
| virtual void | OnEndPass (FRDGBuilder &GraphBuilder) |
| void | OverrideRenderOutput (ERenderOutput InRenderOutput) |
Protected Attributes | |
| FString | DebugName |
| ERenderMode | RenderMode = ERenderMode::DepthPass |
| ERenderOutput | RenderOutput = ERenderOutput::SceneDepth |
| bool | bSceneColorWithTranslucent = false |
| bool | bSceneColorIsUserSceneTexture = false |
| FRDGTextureRef | RenderTargetTexture = nullptr |
| FIntPoint | RenderTargetSize = FIntPoint(ForceInit) |
| TArray< class FViewInfo * > | Views |
| TMap< FName, TUniquePtr< ICustomRenderPassUserData > > | UserDatas |
Friends | |
| class | FSceneRenderer |
| class | FDeferredShadingSceneRenderer |
Additional Inherited Members | |
Public Attributes inherited from ICustomRenderPass | |
| virtual const FName &GetTypeName() const PURE_VIRTUAL(ICustomRenderPass return | Name |
Base class of the custom render pass. Create a derived class to provide custom behavior. Custom render pass is rendered as part of the main render loop.
|
strong |
|
strong |
|
strong |
The output type into the render target. What type is valid depends on ERenderMode.
| Enumerator | |
|---|---|
| SceneDepth | Used with ERenderMode::DepthPass. |
| DeviceDepth | |
| SceneColorAndDepth | Used with ERenderMode::DepthAndBasePass. |
| SceneColorAndAlpha | |
| SceneColorNoAlpha | |
| BaseColor | |
| Normal | |
| MAX | |
|
delete |
| FCustomRenderPassBase::FCustomRenderPassBase | ( | const FString & | InDebugName, |
| ERenderMode | InRenderMode, | ||
| ERenderOutput | InRenderOutput, | ||
| const FIntPoint & | InRenderTargetSize | ||
| ) |
|
inlinevirtual |
| void FCustomRenderPassBase::BeginPass | ( | FRDGBuilder & | GraphBuilder | ) |
Called before PreRender on render thread (only really useful for properly scoping render capture names)
| void FCustomRenderPassBase::EndPass | ( | FRDGBuilder & | GraphBuilder | ) |
Called after PostRender on render thread (only really useful for properly scoping render capture names)
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| ESceneCaptureSource FCustomRenderPassBase::GetSceneCaptureSource | ( | ) | const |
Convert output type into corresponding scene capture source type. This is because we use CopySceneCaptureComponentToTarget helper function to copy the custom render pass render result from scene texture into the pass's render target.
| ICustomRenderPassUserData * FCustomRenderPassBase::GetUserData | ( | const FName & | InTypeName | ) | const |
|
inline |
|
inline |
Returns true if translucency is enabled AND an output uses SceneColor. We can skip translucency if SceneColor (where translucency is written) is unused.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in FSceneCapturePass.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in FSceneCapturePass.
|
inlineprotected |
Used internally during scene render to generate multiple outputs from a single custom render pass
| void FCustomRenderPassBase::PerformRenderCapture | ( | ERenderCaptureType | InRenderCaptureType, |
| const FString & | InFileName = FString() |
||
| ) |
Perform a render capture when this pass runs if a render capture interface is registered
| void FCustomRenderPassBase::PostRender | ( | FRDGBuilder & | GraphBuilder | ) |
Called after the pass is rendered on render thread, use it for post processing tasks such as applying additional shader effects to the render target.
| void FCustomRenderPassBase::PreRender | ( | FRDGBuilder & | GraphBuilder | ) |
Called before the pass is rendered on render thread, use it for prep tasks such as allocating render target.
| void FCustomRenderPassBase::SetUserData | ( | TUniquePtr< ICustomRenderPassUserData > && | InUserData | ) |
|
friend |
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Optional user data providing a hook into the engine to override settings for this render pass. The user data should derive from ICustomRenderPassUserData and implement GetTypeName() to be retrieved. Use SetUserData/GetUserData
The views created for the custom render pass.