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

Classes

struct  UE::Shader::FPreshaderDebugStackElement
 
struct  UE::Shader::FPreshaderDebugStack
 

Namespaces

namespace  UE
 
namespace  UE::Shader
 

Macros

#define EvaluateUnaryOp(STACK, OP)   EvaluateUnaryOpDebug(STACK, TEXT(#OP))
 
#define EvaluateUnaryOpInPlace(STACK, IN_PLACE_OP)   EvaluateUnaryOpInPlaceDebug(STACK, TEXT(#IN_PLACE_OP))
 
#define EvaluateBinaryOp(STACK, OP)   EvaluateBinaryOpDebug(STACK, TEXT(#OP))
 
#define EvaluateBinaryOpInPlace(STACK, IN_PLACE_OP, OP)   EvaluateBinaryOpDebug(STACK, TEXT(#OP))
 
#define EvaluateTernaryOp(STACK, OP)   EvaluateTernaryOpDebug(STACK, TEXT(#OP))
 

Enumerations

enum class  UE::Shader::EPreshaderDebugStackType : uint8 { UE::Shader::Singular , UE::Shader::SumTerms , UE::Shader::ProductTerms }
 
enum class  UE::Shader::EPreshaderOperatorType : uint8 {
  UE::Shader::Add , UE::Shader::Sub , UE::Shader::Mul , UE::Shader::Div ,
  UE::Shader::None
}
 

Functions

 IMPLEMENT_TYPE_LAYOUT (UE::Shader::FPreshaderData)
 
 IMPLEMENT_TYPE_LAYOUT (UE::Shader::FPreshaderStructType)
 
template<>
uint8 UE::Shader::ReadPreshaderValue< uint8 > (FPreshaderDataContext &RESTRICT Data)
 
template<>
FScriptName UE::Shader::ReadPreshaderValue< FScriptName > (FPreshaderDataContext &RESTRICT Data)
 
template<>
FPreshaderType UE::Shader::ReadPreshaderValue< FPreshaderType > (FPreshaderDataContext &RESTRICT Data)
 
template<>
FName UE::Shader::ReadPreshaderValue< FName > (FPreshaderDataContext &RESTRICT Data)=delete
 
template<>
FHashedMaterialParameterInfo UE::Shader::ReadPreshaderValue< FHashedMaterialParameterInfo > (FPreshaderDataContext &RESTRICT Data)
 
EValueType UE::Shader::NormalizeInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
FPreshaderValue UE::Shader::EvaluatePreshader (const FUniformExpressionSet *UniformExpressionSet, const FMaterialRenderContext &Context, FPreshaderStack &Stack, FPreshaderDataContext &RESTRICT Data)
 
FString UE::Shader::PreshaderGenerateDebugString (const FUniformExpressionSet &UniformExpressionSet, const FMaterialRenderContext &Context, FPreshaderDataContext &RESTRICT Data, TMap< FString, uint32 > *ParameterReferences)
 
void UE::Shader::PreshaderComputeDebugStats (const FUniformExpressionSet &UniformExpressionSet, const FMaterialRenderContext &Context, FPreshaderDataContext &RESTRICT Data, uint32 &TotalParameters, uint32 &TotalOps)
 

Macro Definition Documentation

◆ EvaluateBinaryOp

#define EvaluateBinaryOp (   STACK,
  OP 
)    EvaluateBinaryOpDebug(STACK, TEXT(#OP))

◆ EvaluateBinaryOpInPlace

#define EvaluateBinaryOpInPlace (   STACK,
  IN_PLACE_OP,
  OP 
)    EvaluateBinaryOpDebug(STACK, TEXT(#OP))

◆ EvaluateTernaryOp

#define EvaluateTernaryOp (   STACK,
  OP 
)    EvaluateTernaryOpDebug(STACK, TEXT(#OP))

◆ EvaluateUnaryOp

#define EvaluateUnaryOp (   STACK,
  OP 
)    EvaluateUnaryOpDebug(STACK, TEXT(#OP))

◆ EvaluateUnaryOpInPlace

#define EvaluateUnaryOpInPlace (   STACK,
  IN_PLACE_OP 
)    EvaluateUnaryOpInPlaceDebug(STACK, TEXT(#IN_PLACE_OP))

Function Documentation

◆ IMPLEMENT_TYPE_LAYOUT() [1/2]

IMPLEMENT_TYPE_LAYOUT ( UE::Shader::FPreshaderData  )

◆ IMPLEMENT_TYPE_LAYOUT() [2/2]

IMPLEMENT_TYPE_LAYOUT ( UE::Shader::FPreshaderStructType  )