UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RenderingCommon.h File Reference
#include "CoreMinimal.h"
#include "Stats/Stats.h"
#include "Layout/SlateRect.h"
#include "Layout/SlateRotatedRect.h"
#include "Input/CursorReply.h"
#include "Input/Reply.h"
#include "Input/NavigationReply.h"
#include "Input/PopupMethodReply.h"
#include "PixelFormat.h"
#include "Rendering/DrawElementCoreTypes.h"
#include "Rendering/SlateRendererTypes.h"
#include "SlateGlobals.h"
#include <type_traits>
#include <utility>
#include "RenderingCommon.generated.h"

Go to the source code of this file.

Classes

struct  FShaderParams
 
struct  FSlateVertex
 
struct  TIsPODType< FSlateVertex >
 
struct  FShortRect
 
struct  TIsPODType< FShortRect >
 
class  ISlateViewport
 
class  ICustomSlateElement
 
struct  ICustomSlateElement::FDrawPassInputs
 
class  ISlateUpdatableInstanceBufferRenderProxy
 
class  ISlateUpdatableInstanceBuffer
 

Namespaces

namespace  UE
 
namespace  UE::Slate
 

Macros

#define UE_SLATE_VERIFY_PIXELSIZE   UE_BUILD_DEBUG
 
#define SLATE_USE_32BIT_INDICES   !PLATFORM_USES_GLES
 

Typedefs

typedef uint32 SlateIndex
 
typedef TArray< FSlateVertexFSlateVertexArray
 
typedef TArray< SlateIndexFSlateIndexArray
 
typedef TArray< FVector4fFSlateInstanceBufferData
 

Enumerations

enum class  ESlateDrawPrimitive : uint8 { None , LineList , TriangleList }
 
enum class  ESlateShader : uint8 {
  Default = 0 , Border = 1 , GrayscaleFont = 2 , ColorFont = 3 ,
  LineSegment = 4 , Custom = 5 , PostProcess = 6 , RoundedBox = 7 ,
  SdfFont = 8 , MsdfFont = 9
}
 
enum class  ESlateDrawEffect : uint8 {
  None = 0 , NoBlending = 1 << 0 , PreMultipliedAlpha = 1 << 1 , NoGamma = 1 << 2 ,
  InvertAlpha = 1 << 3 , NoPixelSnapping = 1 << 4 , DisabledEffect = 1 << 5 , IgnoreTextureAlpha = 1 << 6 ,
  ReverseGamma = 1 << 7
}
 
enum class  ESlateBatchDrawFlag : uint16 {
  None = 0 , NoBlending = 1 << 0 , PreMultipliedAlpha = 1 << 1 , NoGamma = 1 << 2 ,
  InvertAlpha = 1 << 3 , Wireframe = 1 << 4 , TileU = 1 << 5 , TileV = 1 << 6 ,
  ReverseGamma = 1 << 7 , HDR = 1 << 8
}
 
enum class  ESlateLineJoinType : uint8 { Sharp = 0 , Simple = 1 }
 
enum class  EColorVisionDeficiency : uint8 { UMETA =(DisplayName="Normal Vision") , UMETA =(DisplayName="Deuteranope (green weak/blind) (7% of males, 0.4% of females)") , UMETA =(DisplayName="Protanope (red weak/blind) (2% of males, 0.01% of females)") , UMETA =(DisplayName="Tritanope (blue weak/blind) (0.0003% of males)") }
 
enum class  ESlateVertexRounding : uint8 { Disabled , Enabled }
 
enum class  ESlateViewportDynamicRange : uint8 { SDR , HDR }
 

Functions

 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Num Cached Element Lists"), STAT_SlateNumCachedElementLists, STATGROUP_Slate, SLATECORE_API)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Num Cached Elements"), STAT_SlateNumCachedElements, STATGROUP_Slate, SLATECORE_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("PreFill Buffers"), STAT_SlatePreFullBufferTime, STATGROUP_Slate, SLATECORE_API)
 
 ENUM_CLASS_FLAGS (ESlateDrawEffect)
 
 ENUM_CLASS_FLAGS (ESlateBatchDrawFlag)
 
template<typename IndexType , IndexType... Indices>
auto UE::Slate::MakeTupleIndiciesInner (std::integer_sequence< IndexType, Indices... >)
 
template<typename IndexType , std::size_t Num, typename Indices = std::make_integer_sequence<IndexType, Num>>
auto UE::Slate::MakeTupleIndicies ()
 

Macro Definition Documentation

◆ SLATE_USE_32BIT_INDICES

#define SLATE_USE_32BIT_INDICES   !PLATFORM_USES_GLES

◆ UE_SLATE_VERIFY_PIXELSIZE

#define UE_SLATE_VERIFY_PIXELSIZE   UE_BUILD_DEBUG

Typedef Documentation

◆ FSlateIndexArray

◆ FSlateInstanceBufferData

◆ FSlateVertexArray

Note: FRenderingBufferStatTracker & FSlateDrawElementArray have been moved to DrawElementCoreTypes.h

◆ SlateIndex

Enumeration Type Documentation

◆ EColorVisionDeficiency

Enumerates color vision deficiency types.

Enumerator
UMETA 
UMETA 
UMETA 
UMETA 

◆ ESlateBatchDrawFlag

Flags for drawing a batch

Enumerator
None 

No draw flags

NoBlending 

Draw the element with no blending

PreMultipliedAlpha 

Blend using pre-multiplied alpha. Ignored if NoBlending is set.

NoGamma 

No gamma correction should be done

InvertAlpha 

Change the alpha value to 1 - Alpha

Wireframe 

Draw the element as wireframe

TileU 

The element should be tiled horizontally

TileV 

The element should be tiled vertically

ReverseGamma 

Reverse gamma correction

HDR 

Potentially apply to HDR batch when composition is active

◆ ESlateDrawEffect

enum class ESlateDrawEffect : uint8
strong

Effects that can be applied to elements when rendered. Note: New effects added should be in bit mask form If you add a type here you must also implement the proper shader type (TSlateElementPS). See SlateShaders.h

Enumerator
None 

No effect applied

NoBlending 

Advanced: Draw the element with no blending

PreMultipliedAlpha 

Advanced: Blend using pre-multiplied alpha. Ignored if NoBlending is set.

NoGamma 

Advanced: No gamma correction should be done

InvertAlpha 

Advanced: Change the alpha value to 1 - Alpha.

NoPixelSnapping 

Disables pixel snapping

DisabledEffect 

Draw the element with a disabled effect

IgnoreTextureAlpha 

Advanced: Don't read from texture alpha channel

ReverseGamma 

Advanced: Existing Gamma correction should be reversed

◆ ESlateDrawPrimitive

enum class ESlateDrawPrimitive : uint8
strong

Draw primitive types

Enumerator
None 
LineList 
TriangleList 

◆ ESlateLineJoinType

enum class ESlateLineJoinType : uint8
strong
Enumerator
Sharp 
Simple 

◆ ESlateShader

enum class ESlateShader : uint8
strong

Shader types. NOTE: mirrored in the shader file
If you add a type here you must also implement the proper shader type (TSlateElementPS). See SlateShaders.h

Enumerator
Default 

The default shader type. Simple texture lookup

Border 

Border shader

GrayscaleFont 

Grayscale font shader. Uses an alpha only texture

ColorFont 

Color font shader. Uses an sRGB texture

LineSegment 

Line segment shader. For drawing anti-aliased lines

Custom 

For completely customized materials. Makes no assumptions on use

PostProcess 

For post processing passes

RoundedBox 

Rounded Box shader.

SdfFont 

Signed distance field font shader

MsdfFont 

Multi-channel signed distance field font shader

◆ ESlateVertexRounding

Enumerator
Disabled 
Enabled 

◆ ESlateViewportDynamicRange

Enumerator
SDR 
HDR 

Function Documentation

◆ DECLARE_CYCLE_STAT_EXTERN()

DECLARE_CYCLE_STAT_EXTERN ( TEXT("PreFill Buffers" ,
STAT_SlatePreFullBufferTime  ,
STATGROUP_Slate  ,
SLATECORE_API   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [1/2]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Num Cached Element Lists" ,
STAT_SlateNumCachedElementLists  ,
STATGROUP_Slate  ,
SLATECORE_API   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [2/2]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Num Cached Elements" ,
STAT_SlateNumCachedElements  ,
STATGROUP_Slate  ,
SLATECORE_API   
)

◆ ENUM_CLASS_FLAGS() [1/2]

ENUM_CLASS_FLAGS ( ESlateBatchDrawFlag  )

◆ ENUM_CLASS_FLAGS() [2/2]

ENUM_CLASS_FLAGS ( ESlateDrawEffect  )