UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SubpixelMorphologicalAA.cpp File Reference

Classes

class  FSMAAEdgeDetectionPS
 
class  FSMAAEdgeDetectionVS
 
class  FSMAABlendingWeightCalculationPS
 
class  FSMAABlendingWeightCalculationVS
 
class  FSMAANeighborhoodBlendingPS
 
class  FSMAANeighborhoodBlendingVS
 
class  FSMAADebugVisualizationPS
 
class  FSMAADebugVisualizationVS
 

Macros

#define DECLARE_SMAA_QUALITY_PERMUTATIONS   class FQuality : SHADER_PERMUTATION_INT("SMAA_QUALITY", 4);
 

Enumerations

enum class  ESMAAEdgeMode : uint8 { Color , Luminance , Count }
 

Functions

 DECLARE_GPU_STAT (SMAA)
 
template<typename T >
void SetupSMAAQualityPermutations (typename T::FPermutationDomain &Domain, ESMAAQuality Quality)
 
 IMPLEMENT_GLOBAL_SHADER (FSMAAEdgeDetectionVS, "/Engine/Private/SMAA/SMAAEdgeDetectionShader.usf", "MainVS", SF_Vertex)
 
 IMPLEMENT_GLOBAL_SHADER (FSMAAEdgeDetectionPS, "/Engine/Private/SMAA/SMAAEdgeDetectionShader.usf", "MainPS", SF_Pixel)
 
 IMPLEMENT_GLOBAL_SHADER (FSMAABlendingWeightCalculationVS, "/Engine/Private/SMAA/SMAABlendingWeightCalculationShader.usf", "MainVS", SF_Vertex)
 
 IMPLEMENT_GLOBAL_SHADER (FSMAABlendingWeightCalculationPS, "/Engine/Private/SMAA/SMAABlendingWeightCalculationShader.usf", "MainPS", SF_Pixel)
 
 IMPLEMENT_GLOBAL_SHADER (FSMAANeighborhoodBlendingVS, "/Engine/Private/SMAA/SMAANeighborhoodBlendingShader.usf", "MainVS", SF_Vertex)
 
 IMPLEMENT_GLOBAL_SHADER (FSMAANeighborhoodBlendingPS, "/Engine/Private/SMAA/SMAANeighborhoodBlendingShader.usf", "MainPS", SF_Pixel)
 
 IMPLEMENT_GLOBAL_SHADER (FSMAADebugVisualizationVS, "/Engine/Private/SMAA/SMAADebugVisualization.usf", "MainVS", SF_Vertex)
 
 IMPLEMENT_GLOBAL_SHADER (FSMAADebugVisualizationPS, "/Engine/Private/SMAA/SMAADebugVisualization.usf", "MainPS", SF_Pixel)
 
ESMAAQuality GetSMAAQuality ()
 
void AddSMAAEdgeDetectionPass (FRDGBuilder &GraphBuilder, const FSceneView &InSceneView, const FScreenPassTexture &SceneColorTexture, const FRDGTextureRef &EdgeTexture, const FRDGTextureRef &DepthStencilTexture, ESMAAQuality Quality, const FVector4f &RTMetrics)
 
void AddSMAABlendingWeightCalculationPass (FRDGBuilder &GraphBuilder, const FSceneView &InSceneView, const FRDGTextureRef &EdgeTexture, const FRDGTextureRef &BlendTexture, const FRDGTextureRef &DepthStencilTexture, ESMAAQuality Quality, const FVector4f &RTMetrics)
 
FScreenPassTexture AddSMAANeighborhoodBlendingPass (FRDGBuilder &GraphBuilder, const FSceneView &InSceneView, const FScreenPassTexture &InputSceneTexture, const FRDGTextureRef &InputBlendTex, FScreenPassRenderTarget &Output, const FVector4f &RTMetrics)
 
FScreenPassTexture AddSMAADebugVisualizationPass (FRDGBuilder &GraphBuilder, const FSceneView &InSceneView, const FScreenPassTexture &InputSceneTexture, const FRDGTextureRef &InputEdgeTex, const FRDGTextureRef &InputBlendTex, FScreenPassRenderTarget &Output, const FVector4f &RTMetrics)
 
FScreenPassTexture AddSMAAPasses (FRDGBuilder &GraphBuilder, const FSceneView &View, const FSMAAInputs &Inputs)
 

Variables

TAutoConsoleVariable< int32CVarSMAAQuality (TEXT("r.SMAA.Quality"), 2, TEXT(" 3: Ultra (%99 of the quality) \n"), ECVF_Scalability|ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarSMAADebugVisualization (TEXT("r.SMAA.DebugVisualization"), 0, TEXT(" 3: Scene Color + Smoothened edges highlights \n"), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarSMAAEdgeDetectionMode (TEXT("r.SMAA.EdgeMode"), 0, TEXT(" 1: Luminance \n"), ECVF_RenderThreadSafe)
 

Macro Definition Documentation

◆ DECLARE_SMAA_QUALITY_PERMUTATIONS

#define DECLARE_SMAA_QUALITY_PERMUTATIONS   class FQuality : SHADER_PERMUTATION_INT("SMAA_QUALITY", 4);

Enumeration Type Documentation

◆ ESMAAEdgeMode

enum class ESMAAEdgeMode : uint8
strong
Enumerator
Color 
Luminance 
Count 

Function Documentation

◆ AddSMAABlendingWeightCalculationPass()

void AddSMAABlendingWeightCalculationPass ( FRDGBuilder GraphBuilder,
const FSceneView InSceneView,
const FRDGTextureRef EdgeTexture,
const FRDGTextureRef BlendTexture,
const FRDGTextureRef DepthStencilTexture,
ESMAAQuality  Quality,
const FVector4f RTMetrics 
)

◆ AddSMAADebugVisualizationPass()

FScreenPassTexture AddSMAADebugVisualizationPass ( FRDGBuilder GraphBuilder,
const FSceneView InSceneView,
const FScreenPassTexture InputSceneTexture,
const FRDGTextureRef InputEdgeTex,
const FRDGTextureRef InputBlendTex,
FScreenPassRenderTarget Output,
const FVector4f RTMetrics 
)

◆ AddSMAAEdgeDetectionPass()

void AddSMAAEdgeDetectionPass ( FRDGBuilder GraphBuilder,
const FSceneView InSceneView,
const FScreenPassTexture SceneColorTexture,
const FRDGTextureRef EdgeTexture,
const FRDGTextureRef DepthStencilTexture,
ESMAAQuality  Quality,
const FVector4f RTMetrics 
)

◆ AddSMAANeighborhoodBlendingPass()

FScreenPassTexture AddSMAANeighborhoodBlendingPass ( FRDGBuilder GraphBuilder,
const FSceneView InSceneView,
const FScreenPassTexture InputSceneTexture,
const FRDGTextureRef InputBlendTex,
FScreenPassRenderTarget Output,
const FVector4f RTMetrics 
)

◆ AddSMAAPasses()

FScreenPassTexture AddSMAAPasses ( FRDGBuilder GraphBuilder,
const FSceneView View,
const FSMAAInputs Inputs 
)

◆ DECLARE_GPU_STAT()

DECLARE_GPU_STAT ( SMAA  )

◆ GetSMAAQuality()

ESMAAQuality GetSMAAQuality ( )

◆ IMPLEMENT_GLOBAL_SHADER() [1/8]

IMPLEMENT_GLOBAL_SHADER ( FSMAABlendingWeightCalculationPS  ,
"/Engine/Private/SMAA/SMAABlendingWeightCalculationShader.usf"  ,
"MainPS"  ,
SF_Pixel   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/8]

IMPLEMENT_GLOBAL_SHADER ( FSMAABlendingWeightCalculationVS  ,
"/Engine/Private/SMAA/SMAABlendingWeightCalculationShader.usf"  ,
"MainVS"  ,
SF_Vertex   
)

◆ IMPLEMENT_GLOBAL_SHADER() [3/8]

IMPLEMENT_GLOBAL_SHADER ( FSMAADebugVisualizationPS  ,
"/Engine/Private/SMAA/SMAADebugVisualization.usf"  ,
"MainPS"  ,
SF_Pixel   
)

◆ IMPLEMENT_GLOBAL_SHADER() [4/8]

IMPLEMENT_GLOBAL_SHADER ( FSMAADebugVisualizationVS  ,
"/Engine/Private/SMAA/SMAADebugVisualization.usf"  ,
"MainVS"  ,
SF_Vertex   
)

◆ IMPLEMENT_GLOBAL_SHADER() [5/8]

IMPLEMENT_GLOBAL_SHADER ( FSMAAEdgeDetectionPS  ,
"/Engine/Private/SMAA/SMAAEdgeDetectionShader.usf"  ,
"MainPS"  ,
SF_Pixel   
)

◆ IMPLEMENT_GLOBAL_SHADER() [6/8]

IMPLEMENT_GLOBAL_SHADER ( FSMAAEdgeDetectionVS  ,
"/Engine/Private/SMAA/SMAAEdgeDetectionShader.usf"  ,
"MainVS"  ,
SF_Vertex   
)

◆ IMPLEMENT_GLOBAL_SHADER() [7/8]

IMPLEMENT_GLOBAL_SHADER ( FSMAANeighborhoodBlendingPS  ,
"/Engine/Private/SMAA/SMAANeighborhoodBlendingShader.usf"  ,
"MainPS"  ,
SF_Pixel   
)

◆ IMPLEMENT_GLOBAL_SHADER() [8/8]

IMPLEMENT_GLOBAL_SHADER ( FSMAANeighborhoodBlendingVS  ,
"/Engine/Private/SMAA/SMAANeighborhoodBlendingShader.usf"  ,
"MainVS"  ,
SF_Vertex   
)

◆ SetupSMAAQualityPermutations()

template<typename T >
void SetupSMAAQualityPermutations ( typename T::FPermutationDomain &  Domain,
ESMAAQuality  Quality 
)

Variable Documentation

◆ CVarSMAADebugVisualization

TAutoConsoleVariable< int32 > CVarSMAADebugVisualization(TEXT("r.SMAA.DebugVisualization"), 0, TEXT(" 3: Scene Color + Smoothened edges highlights \n"), ECVF_RenderThreadSafe) ( TEXT("r.SMAA.DebugVisualization")  ,
,
TEXT(" 3: Scene Color + Smoothened edges highlights \n" ,
ECVF_RenderThreadSafe   
)

◆ CVarSMAAEdgeDetectionMode

TAutoConsoleVariable< int32 > CVarSMAAEdgeDetectionMode(TEXT("r.SMAA.EdgeMode"), 0, TEXT(" 1: Luminance \n"), ECVF_RenderThreadSafe) ( TEXT("r.SMAA.EdgeMode")  ,
,
TEXT(" 1: Luminance \n" ,
ECVF_RenderThreadSafe   
)

◆ CVarSMAAQuality

TAutoConsoleVariable< int32 > CVarSMAAQuality(TEXT("r.SMAA.Quality"), 2, TEXT(" 3: Ultra (%99 of the quality) \n"), ECVF_Scalability|ECVF_RenderThreadSafe) ( TEXT("r.SMAA.Quality")  ,
,
TEXT(" 3: Ultra (%99 of the quality) \n" ,
ECVF_Scalability ECVF_RenderThreadSafe 
)