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

#include <SlatePostBufferBlur.h>

+ Inheritance diagram for FSlatePostBufferBlurProxy:

Public Member Functions

virtual UE_API void PostProcess_Renderthread (FRDGBuilder &GraphBuilder, const FScreenPassTexture &InputTexture, const FScreenPassTexture &OutputTexture) override
 
virtual UE_API void OnUpdateValuesRenderThread () override
 
- Public Member Functions inherited from FSlateRHIPostBufferProcessorProxy
virtual ~FSlateRHIPostBufferProcessorProxy ()
 
virtual PRAGMA_DISABLE_DEPRECATION_WARNINGS void PostProcess_Renderthread (FRHICommandListImmediate &RHICmdList, FRHITexture *Src, FRHITexture *Dst, FIntRect SrcRect, FIntRect DstRect, FSlateRHIRenderingPolicyInterface InRenderingPolicy)
 
void SetOwningProcessorObject (USlateRHIPostBufferProcessor *InParentObject)
 
- Public Member Functions inherited from TSharedFromThis< FSlateRHIPostBufferProcessorProxy >
TSharedRef< FSlateRHIPostBufferProcessorProxy, Mode > AsShared ()
 
TSharedRef< FSlateRHIPostBufferProcessorProxy const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< FSlateRHIPostBufferProcessorProxy, Mode > AsWeak ()
 
TWeakPtr< FSlateRHIPostBufferProcessorProxy const, Mode > AsWeak () const
 
TWeakPtr< SubobjectType, Mode > AsWeakSubobject (SubobjectType *SubobjectPtr) const
 
void UpdateWeakReferenceInternal (TSharedPtr< SharedPtrType, SharedPtrMode > const *InSharedPtr, OtherType *InObject) const
 
void UpdateWeakReferenceInternal (TSharedRef< SharedRefType, SharedPtrMode > const *InSharedRef, OtherType *InObject) const
 
UE_FORCEINLINE_HINT bool DoesSharedInstanceExist () const
 

Public Attributes

float GaussianBlurStrength_RenderThread = 10
 
float GaussianBlurStrengthPreDraw = 10
 

Protected Attributes

FRenderCommandFence ParamUpdateFence
 
- Protected Attributes inherited from FSlateRHIPostBufferProcessorProxy
TWeakObjectPtr< USlateRHIPostBufferProcessorParentObject
 

Additional Inherited Members

- Protected Member Functions inherited from TSharedFromThis< FSlateRHIPostBufferProcessorProxy >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 
- Static Protected Member Functions inherited from TSharedFromThis< FSlateRHIPostBufferProcessorProxy >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 

Detailed Description

Proxy for post buffer processor that the renderthread uses to perform processing This proxy exists because generally speaking usage on UObjects on the renderthread is a race condition due to UObjects being managed / updated by the game thread

Member Function Documentation

◆ OnUpdateValuesRenderThread()

void FSlatePostBufferBlurProxy::OnUpdateValuesRenderThread ( )
overridevirtual

Called when an post buffer update element is added to a renderbatch, gives proxies a chance to queue updates to their renderthread values based on the UObject processor. These updates should likely be guarded by an 'FRenderCommandFence' to avoid duplicate updates

Reimplemented from FSlateRHIPostBufferProcessorProxy.

◆ PostProcess_Renderthread()

void FSlatePostBufferBlurProxy::PostProcess_Renderthread ( FRDGBuilder GraphBuilder,
const FScreenPassTexture InputTexture,
const FScreenPassTexture OutputTexture 
)
overridevirtual

Called on the render thread to run a post processing operation on the input texture and produce the output texture.

Reimplemented from FSlateRHIPostBufferProcessorProxy.

Member Data Documentation

◆ GaussianBlurStrength_RenderThread

float FSlatePostBufferBlurProxy::GaussianBlurStrength_RenderThread = 10

Blur strength to use when processing, renderthread version actually used to draw. Must be updated via render command except during initialization.

◆ GaussianBlurStrengthPreDraw

float FSlatePostBufferBlurProxy::GaussianBlurStrengthPreDraw = 10

Blur strength can be updated from both renderthread during draw and gamethread update. Store the last value gamethread provided so we know if we should use the renderthread value or gamethread value. We will use the most recently updated one.

◆ ParamUpdateFence

FRenderCommandFence FSlatePostBufferBlurProxy::ParamUpdateFence
protected

Fence to allow for us to queue only one update per draw command from the gamethread


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