UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SystemTextures.cpp File Reference
#include "SystemTextures.h"
#include "Math/RandomStream.h"
#include "Math/Sobol.h"
#include "Math/Float16.h"
#include "RenderTargetPool.h"
#include "ClearQuad.h"
#include "Math/PackedVector.h"
#include "GlobalRenderResources.h"
#include "Engine/Texture2D.h"
#include "Engine/Engine.h"
#include "Containers/ResourceArray.h"

Classes

struct  TFormatConversionTraits< TInputType >
 
struct  TFormatConversionTraits< FVector4f >
 
struct  TFormatConversionTraits< FUintVector4 >
 
struct  TFormatConversionTraits< FIntVector4 >
 

Macros

#define EXPORT_SYSTEM_TEXTURES   0
 

Enumerations

enum class  EDefaultInputType {
  Typed , UNorm , SNorm , UNorm10 ,
  UNorm11 , UNorm2 , UNorm5 , UNorm1
}
 

Functions

 RDG_REGISTER_BLACKBOARD_STRUCT (FRDGSystemTextures)
 
bool operator!= (const FDefaultTextureKey &A, const FDefaultTextureKey &B)
 
FIntVector4 ToVector (int32 Value)
 
FVector4f ToVector (float Value)
 
FUintVector4 ToVector (uint32 Value)
 
FVector4f ToVector (const FVector3f &Value)
 
FVector4f ToVector (const FVector4f &Value)
 
FVector4f ToVector (const FVector2D &Value)
 
FIntVector4 ToVector (const FIntPoint &Value)
 
FUintVector4 ToVector (const FUintVector4 &Value)
 
FVector4f ToVector (const FClearValueBinding &Value)
 
template<typename TInType , typename TOutType , EDefaultInputType InputFormatType>
TOutType ConvertInputFormat (const TInType &In)
 
template<>
uint64 ConvertInputFormat< float, uint64, EDefaultInputType::UNorm > (const float &In)
 
template<>
int64 ConvertInputFormat< float, int64, EDefaultInputType::SNorm > (const float &In)
 
template<>
uint32 ConvertInputFormat< float, uint32, EDefaultInputType::UNorm > (const float &In)
 
template<>
int32 ConvertInputFormat< float, int32, EDefaultInputType::SNorm > (const float &In)
 
template<>
uint16 ConvertInputFormat< float, uint16, EDefaultInputType::UNorm > (const float &In)
 
template<>
int16 ConvertInputFormat< float, int16, EDefaultInputType::SNorm > (const float &In)
 
template<>
uint8 ConvertInputFormat< float, uint8, EDefaultInputType::UNorm > (const float &In)
 
template<>
int8 ConvertInputFormat< float, int8, EDefaultInputType::SNorm > (const float &In)
 
template<>
uint32 ConvertInputFormat< float, uint32, EDefaultInputType::UNorm10 > (const float &In)
 
template<>
uint32 ConvertInputFormat< float, uint32, EDefaultInputType::UNorm11 > (const float &In)
 
template<>
uint32 ConvertInputFormat< float, uint32, EDefaultInputType::UNorm2 > (const float &In)
 
template<>
uint32 ConvertInputFormat< float, uint32, EDefaultInputType::UNorm1 > (const float &In)
 
template<>
uint32 ConvertInputFormat< float, uint32, EDefaultInputType::UNorm5 > (const float &In)
 
template<EDefaultInputType InputFormatType, typename TInType , typename TOutType , uint32 SwizzleX, uint32 SwizzleY, uint32 SwizzleZ, uint32 SwizzleW>
void FormatData (const TInType &In, uint8 *Out, uint32 &OutByteCount)
 
template<EDefaultInputType InputFormatType, typename TInType , typename TOutType , uint32 SwizzleX, uint32 SwizzleY, uint32 SwizzleZ>
void FormatData (const TInType &In, uint8 *Out, uint32 &OutByteCount)
 
template<EDefaultInputType InputFormatType, typename TInType , typename TOutType , uint32 SwizzleX, uint32 SwizzleY>
void FormatData (const TInType &In, uint8 *Out, uint32 &OutByteCount)
 
template<EDefaultInputType InputFormatType, typename TInType , typename TOutType >
void FormatData (const TInType &In, uint8 *Out, uint32 &OutByteCount)
 
template<typename TInType >
void FormatData111110 (const TInType &In, uint8 *Out, uint32 &OutByteCount)
 
template<typename TInType >
void FormatData1010102 (const TInType &In, uint8 *Out, uint32 &OutByteCount)
 
template<typename TInType >
void FormatData5551 (const TInType &In, uint8 *Out, uint32 &OutByteCount)
 
template<typename TInType >
void FormatData9995 (const TInType &In, uint8 *Out, uint32 &OutByteCount)
 
template<typename TInType >
void InitializeData (const TInType &InData, EPixelFormat InFormat, uint8 *OutData, uint32 &OutByteCount)
 
template<typename DataType >
void SetDefaultTextureData2D (FRHITextureInitializer &Initializer, const FRHITextureCreateDesc &InDesc, const DataType &InData)
 
template<typename DataType >
void SetDefaultTextureData2DArray (FRHITextureInitializer &Initializer, const FRHITextureCreateDesc &InDesc, const DataType &InData)
 
template<typename DataType >
void SetDefaultTextureData3D (FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, const FRHITextureCreateDesc &InDesc, const DataType &InData)
 
template<typename DataType >
void SetDefaultTextureDataCube (FRHITextureInitializer &Initializer, const FRHITextureCreateDesc &InDesc, const DataType &InData)
 
template<typename TClearValue >
FRDGTextureRef GetInternalDefaultTexture (FRDGBuilder &GraphBuilder, TArray< FDefaultTexture > &DefaultTextures, FHashTable &HashDefaultTextures, ETextureDimension Dimension, EPixelFormat Format, TClearValue Value)
 
bool operator!= (const FDefaultBufferKey &A, const FDefaultBufferKey &B)
 
template<typename TClearValue >
FRDGBufferRef GetInternalDefaultBuffer (FRDGBuilder &GraphBuilder, TArray< FDefaultBuffer > &DefaultBuffers, FHashTable &HashDefaultBuffers, uint32 NumBytePerElement, EDefaultBufferType BufferType, const TClearValue *Value)
 
FVector4f GetClearBindingValue (EPixelFormat Format, FClearValueBinding Value)
 

Variables

TGlobalResource< FSystemTexturesGSystemTextures
 

Macro Definition Documentation

◆ EXPORT_SYSTEM_TEXTURES

#define EXPORT_SYSTEM_TEXTURES   0

Enumeration Type Documentation

◆ EDefaultInputType

enum class EDefaultInputType
strong
Enumerator
Typed 
UNorm 
SNorm 
UNorm10 
UNorm11 
UNorm2 
UNorm5 
UNorm1 

Function Documentation

◆ ConvertInputFormat()

template<typename TInType , typename TOutType , EDefaultInputType InputFormatType>
TOutType ConvertInputFormat ( const TInType In)

◆ ConvertInputFormat< float, int16, EDefaultInputType::SNorm >()

◆ ConvertInputFormat< float, int32, EDefaultInputType::SNorm >()

◆ ConvertInputFormat< float, int64, EDefaultInputType::SNorm >()

◆ ConvertInputFormat< float, int8, EDefaultInputType::SNorm >()

◆ ConvertInputFormat< float, uint16, EDefaultInputType::UNorm >()

◆ ConvertInputFormat< float, uint32, EDefaultInputType::UNorm >()

◆ ConvertInputFormat< float, uint32, EDefaultInputType::UNorm1 >()

◆ ConvertInputFormat< float, uint32, EDefaultInputType::UNorm10 >()

◆ ConvertInputFormat< float, uint32, EDefaultInputType::UNorm11 >()

◆ ConvertInputFormat< float, uint32, EDefaultInputType::UNorm2 >()

◆ ConvertInputFormat< float, uint32, EDefaultInputType::UNorm5 >()

◆ ConvertInputFormat< float, uint64, EDefaultInputType::UNorm >()

◆ ConvertInputFormat< float, uint8, EDefaultInputType::UNorm >()

◆ FormatData() [1/4]

template<EDefaultInputType InputFormatType, typename TInType , typename TOutType , uint32 SwizzleX, uint32 SwizzleY, uint32 SwizzleZ, uint32 SwizzleW>
void FormatData ( const TInType In,
uint8 Out,
uint32 OutByteCount 
)

◆ FormatData() [2/4]

template<EDefaultInputType InputFormatType, typename TInType , typename TOutType , uint32 SwizzleX, uint32 SwizzleY, uint32 SwizzleZ>
void FormatData ( const TInType In,
uint8 Out,
uint32 OutByteCount 
)

◆ FormatData() [3/4]

template<EDefaultInputType InputFormatType, typename TInType , typename TOutType , uint32 SwizzleX, uint32 SwizzleY>
void FormatData ( const TInType In,
uint8 Out,
uint32 OutByteCount 
)

◆ FormatData() [4/4]

template<EDefaultInputType InputFormatType, typename TInType , typename TOutType >
void FormatData ( const TInType In,
uint8 Out,
uint32 OutByteCount 
)

◆ FormatData1010102()

template<typename TInType >
void FormatData1010102 ( const TInType In,
uint8 Out,
uint32 OutByteCount 
)

◆ FormatData111110()

template<typename TInType >
void FormatData111110 ( const TInType In,
uint8 Out,
uint32 OutByteCount 
)

◆ FormatData5551()

template<typename TInType >
void FormatData5551 ( const TInType In,
uint8 Out,
uint32 OutByteCount 
)

◆ FormatData9995()

template<typename TInType >
void FormatData9995 ( const TInType In,
uint8 Out,
uint32 OutByteCount 
)

◆ GetClearBindingValue()

FVector4f GetClearBindingValue ( EPixelFormat  Format,
FClearValueBinding  Value 
)

◆ GetInternalDefaultBuffer()

template<typename TClearValue >
FRDGBufferRef GetInternalDefaultBuffer ( FRDGBuilder GraphBuilder,
TArray< FDefaultBuffer > &  DefaultBuffers,
FHashTable HashDefaultBuffers,
uint32  NumBytePerElement,
EDefaultBufferType  BufferType,
const TClearValue Value 
)

◆ GetInternalDefaultTexture()

template<typename TClearValue >
FRDGTextureRef GetInternalDefaultTexture ( FRDGBuilder GraphBuilder,
TArray< FDefaultTexture > &  DefaultTextures,
FHashTable HashDefaultTextures,
ETextureDimension  Dimension,
EPixelFormat  Format,
TClearValue  Value 
)

◆ InitializeData()

template<typename TInType >
void InitializeData ( const TInType InData,
EPixelFormat  InFormat,
uint8 OutData,
uint32 OutByteCount 
)

◆ operator!=() [1/2]

bool operator!= ( const FDefaultBufferKey A,
const FDefaultBufferKey B 
)

◆ operator!=() [2/2]

bool operator!= ( const FDefaultTextureKey A,
const FDefaultTextureKey B 
)

◆ RDG_REGISTER_BLACKBOARD_STRUCT()

RDG_REGISTER_BLACKBOARD_STRUCT ( FRDGSystemTextures  )

◆ SetDefaultTextureData2D()

template<typename DataType >
void SetDefaultTextureData2D ( FRHITextureInitializer Initializer,
const FRHITextureCreateDesc InDesc,
const DataType &  InData 
)

◆ SetDefaultTextureData2DArray()

template<typename DataType >
void SetDefaultTextureData2DArray ( FRHITextureInitializer Initializer,
const FRHITextureCreateDesc InDesc,
const DataType &  InData 
)

◆ SetDefaultTextureData3D()

template<typename DataType >
void SetDefaultTextureData3D ( FRHICommandListImmediate RHICmdList,
FRHITexture Texture,
const FRHITextureCreateDesc InDesc,
const DataType &  InData 
)

◆ SetDefaultTextureDataCube()

template<typename DataType >
void SetDefaultTextureDataCube ( FRHITextureInitializer Initializer,
const FRHITextureCreateDesc InDesc,
const DataType &  InData 
)

◆ ToVector() [1/9]

FVector4f ToVector ( const FClearValueBinding Value)

◆ ToVector() [2/9]

FIntVector4 ToVector ( const FIntPoint Value)

◆ ToVector() [3/9]

FUintVector4 ToVector ( const FUintVector4 Value)

◆ ToVector() [4/9]

FVector4f ToVector ( const FVector2D Value)

◆ ToVector() [5/9]

FVector4f ToVector ( const FVector3f Value)

◆ ToVector() [6/9]

FVector4f ToVector ( const FVector4f Value)

◆ ToVector() [7/9]

FVector4f ToVector ( float  Value)

◆ ToVector() [8/9]

FIntVector4 ToVector ( int32  Value)

◆ ToVector() [9/9]

FUintVector4 ToVector ( uint32  Value)

Variable Documentation

◆ GSystemTextures

TGlobalResource<FSystemTextures> GSystemTextures

The global render targets used for scene rendering.