IVSmoke 1.0
Loading...
Searching...
No Matches
FIVSmokePostProcessPass Class Reference

#include <IVSmokePostProcessPass.h>

Collaboration diagram for FIVSmokePostProcessPass:
Collaboration graph

Static Public Member Functions

template<typename TShaderClass >
static void AddPixelShaderPass (FRDGBuilder &GraphBuilder, FGlobalShaderMap *ShaderMap, TShaderMapRef< TShaderClass > PixelShader, typename TShaderClass::FParameters *Parameters, const FScreenPassRenderTarget &Output)
 
template<typename TShaderClass >
static void AddComputeShaderPass (FRDGBuilder &GraphBuilder, FGlobalShaderMap *ShaderMap, TShaderMapRef< TShaderClass > ComputeShader, typename TShaderClass::FParameters *Parameters, const FIntVector &TotalThreadSize)
 
static FRDGTextureRef CreateOutputTexture (FRDGBuilder &GraphBuilder, FRDGTextureRef SourceTexture, const TCHAR *DebugName=, EPixelFormat OverrideFormat=PF_Unknown, FIntPoint OverrideExtent=FIntPoint::ZeroValue, ETextureCreateFlags Flags=ETextureCreateFlags::UAV)
 

Detailed Description

Core utility for dispatching PS/CS post process passes. Designed for reusability - bring your own shader and parameters.

Definition at line 18 of file IVSmokePostProcessPass.h.

Member Function Documentation

◆ AddComputeShaderPass()

template<typename TShaderClass >
void FIVSmokePostProcessPass::AddComputeShaderPass ( FRDGBuilder &  GraphBuilder,
FGlobalShaderMap *  ShaderMap,
TShaderMapRef< TShaderClass >  ComputeShader,
typename TShaderClass::FParameters *  Parameters,
const FIntVector &  TotalThreadSize 
)
static

Add a compute shader pass.

Parameters
GraphBuilderRDG builder
ShaderMapGlobal shader map
ComputeShaderCompute shader to use
ParametersShader parameters (must have UAV bound)
ViewportSizeSize of the viewport for thread dispatch
ConfigPass configuration
Warning
Confirmed Engine Bug (UE 5.6 - UE 5.7) Similar to the Pixel Shader pass, the scope name appears as "IVSmoke::ComputeShader: %s" in the Timing View due to the engine bug mentioned above.

Please refer to the Details Panel in Unreal Insights for the correct shader name

Definition at line 117 of file IVSmokePostProcessPass.h.

◆ AddPixelShaderPass()

template<typename TShaderClass >
void FIVSmokePostProcessPass::AddPixelShaderPass ( FRDGBuilder GraphBuilder,
FGlobalShaderMap ShaderMap,
TShaderMapRef< TShaderClass PixelShader,
typename TShaderClass::FParameters *  Parameters,
const FScreenPassRenderTarget Output 
)
static

Add a fullscreen pixel shader pass.

Parameters
GraphBuilderRDG builder
ShaderMapGlobal shader map
PixelShaderPixel shader to use
ParametersShader parameters (must have RenderTargets bound)
OutputRender target
ConfigPass configuration
Warning
Confirmed Engine Bug (UE 5.6 - UE 5.7) The RDG Timeline View currently displays the raw format string (e.g., "IVSmoke::PixelShader: %s") instead of the resolved variable name in Unreal Insights.

Workaround:

  1. Select the event bar in Unreal Insights (Timing View).
  2. Check the Details Panel (Metadata) to view the correct shader name (e.g., MyShaderPS).

https://issues.unrealengine.com/issue/UE-298245

Definition at line 96 of file IVSmokePostProcessPass.h.

◆ CreateOutputTexture()

FRDGTextureRef FIVSmokePostProcessPass::CreateOutputTexture ( FRDGBuilder GraphBuilder,
FRDGTextureRef  SourceTexture,
const TCHAR DebugName,
EPixelFormat  OverrideFormat = PF_Unknown,
FIntPoint  OverrideExtent = FIntPoint::ZeroValue,
ETextureCreateFlags  Flags = ETextureCreateFlags::UAV 
)
static

Create an output texture suitable for UAV (compute shader).

Parameters
GraphBuilderRDG builder
SourceTextureTexture to base dimensions on
DebugNameDebug name for the new texture
OverrideFormatOverride pixel format (PF_Unknown = use source format)
OverrideExtentOverride texture extent (zero = use source extent)
Returns
New texture with UAV flag

Definition at line 6 of file IVSmokePostProcessPass.cpp.


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