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

Go to the source code of this file.

Classes

struct  UE::Shader::FComponentBounds
 
struct  UE::Shader::FValueComponentTypeDescription
 
struct  UE::Shader::FValueTypeDescription
 
struct  UE::Shader::FType
 
struct  UE::Shader::FStructField
 
struct  UE::Shader::FStructType
 
struct  UE::Shader::FStructFieldInitializer
 
struct  UE::Shader::FStructTypeInitializer
 
class  UE::Shader::FStructTypeRegistry
 
struct  UE::Shader::TValue< T >
 
struct  UE::Shader::FMemoryImageValue
 
union  UE::Shader::FValueComponent
 
struct  UE::Shader::FValue
 

Namespaces

namespace  UE
 
namespace  UE::Shader
 

Typedefs

using UE::Shader::FFloatValue = TValue< float >
 
using UE::Shader::FDoubleValue = TValue< double >
 
using UE::Shader::FIntValue = TValue< int32 >
 
using UE::Shader::FBoolValue = TValue< bool >
 

Enumerations

enum class  UE::Shader::EComponentBound : uint8 {
  UE::Shader::NegDoubleMax , UE::Shader::NegFloatMax , UE::Shader::IntMin , UE::Shader::NegOne ,
  UE::Shader::Zero , UE::Shader::One , UE::Shader::IntMax , UE::Shader::FloatMax ,
  UE::Shader::DoubleMax
}
 
enum class  UE::Shader::EValueComponentType : uint8 {
  UE::Shader::Void , UE::Shader::Float , UE::Shader::Double , UE::Shader::Int ,
  UE::Shader::Bool , UE::Shader::Numeric , UE::Shader::Num
}
 
enum class  UE::Shader::EValueType : uint8 {
  UE::Shader::Void , UE::Shader::Float1 , UE::Shader::Float2 , UE::Shader::Float3 ,
  UE::Shader::Float4 , UE::Shader::Double1 , UE::Shader::Double2 , UE::Shader::Double3 ,
  UE::Shader::Double4 , UE::Shader::Int1 , UE::Shader::Int2 , UE::Shader::Int3 ,
  UE::Shader::Int4 , UE::Shader::Bool1 , UE::Shader::Bool2 , UE::Shader::Bool3 ,
  UE::Shader::Bool4 , UE::Shader::Numeric1 , UE::Shader::Numeric2 , UE::Shader::Numeric3 ,
  UE::Shader::Numeric4 , UE::Shader::Float4x4 , UE::Shader::Double4x4 , UE::Shader::DoubleInverse4x4 ,
  UE::Shader::Numeric4x4 , UE::Shader::Struct , UE::Shader::Object , UE::Shader::Any ,
  UE::Shader::Num
}
 
enum class  UE::Shader::EValueStringFormat { UE::Shader::Description , UE::Shader::HLSL }
 

Functions

EComponentBound UE::Shader::MinBound (EComponentBound Lhs, EComponentBound Rhs)
 
EComponentBound UE::Shader::MaxBound (EComponentBound Lhs, EComponentBound Rhs)
 
bool UE::Shader::operator== (const FComponentBounds &Lhs, const FComponentBounds &Rhs)
 
bool UE::Shader::operator!= (const FComponentBounds &Lhs, const FComponentBounds &Rhs)
 
FComponentBounds UE::Shader::MinBound (FComponentBounds Lhs, FComponentBounds Rhs)
 
FComponentBounds UE::Shader::MaxBound (FComponentBounds Lhs, FComponentBounds Rhs)
 
bool UE::Shader::IsWithinBounds (FComponentBounds Lhs, FComponentBounds Rhs)
 
FValueComponentTypeDescription UE::Shader::GetValueComponentTypeDescription (EValueComponentType Type)
 
const TCHARUE::Shader::GetComponentTypeName (EValueComponentType Type)
 
uint32 UE::Shader::GetComponentTypeSizeInBytes (EValueComponentType Type)
 
bool UE::Shader::IsNumericType (EValueComponentType Type)
 
bool UE::Shader::IsComponentTypeWithinBounds (EValueComponentType Type, FComponentBounds Bounds)
 
EValueComponentType UE::Shader::CombineComponentTypes (EValueComponentType Lhs, EValueComponentType Rhs)
 
EValueComponentType UE::Shader::MakeNonLWCType (EValueComponentType Type)
 
EValueComponentType UE::Shader::MakeConcreteType (EValueComponentType Type)
 
bool UE::Shader::IsGenericType (EValueComponentType Type)
 
bool UE::Shader::IsLWCType (EValueComponentType Type)
 
const FValueTypeDescriptionUE::Shader::GetValueTypeDescription (EValueType Type)
 
EValueType UE::Shader::FindValueType (FName Name)
 
bool UE::Shader::IsLWCType (EValueType Type)
 
bool UE::Shader::IsGenericType (EValueType Type)
 
EValueType UE::Shader::MakeValueType (EValueComponentType ComponentType, int32 NumComponents)
 
EValueType UE::Shader::MakeValueType (EValueType BaseType, int32 NumComponents)
 
EValueType UE::Shader::MakeValueTypeWithRequestedNumComponents (EValueType BaseType, int8 RequestedNumComponents)
 
EValueType UE::Shader::MakeNonLWCType (EValueType Type)
 
EValueType UE::Shader::MakeConcreteType (EValueType Type)
 
EValueType UE::Shader::MakeDerivativeType (EValueType Type)
 
bool UE::Shader::IsNumericType (EValueType Type)
 
bool UE::Shader::IsNumericScalarType (EValueType Type)
 
bool UE::Shader::IsNumericVectorType (EValueType Type)
 
bool UE::Shader::IsNumericMatrixType (EValueType Type)
 
bool UE::Shader::operator== (const FType &Lhs, const FType &Rhs)
 
bool UE::Shader::operator!= (const FType &Lhs, const FType &Rhs)
 
bool UE::Shader::operator== (const FType &Lhs, const EValueType &Rhs)
 
bool UE::Shader::operator!= (const FType &Lhs, const EValueType &Rhs)
 
bool UE::Shader::operator== (const EValueType &Lhs, const FType &Rhs)
 
bool UE::Shader::operator!= (const EValueType &Lhs, const FType &Rhs)
 
FType UE::Shader::CombineTypes (const FType &Lhs, const FType &Rhs, bool bMergeMatrixTypes)
 
bool UE::Shader::operator== (const FValue &Lhs, const FValue &Rhs)
 
bool UE::Shader::operator!= (const FValue &Lhs, const FValue &Rhs)
 
uint32 UE::Shader::GetTypeHash (const FType &Type)
 
uint32 UE::Shader::GetTypeHash (const FValue &Value)
 
FValue UE::Shader::Neg (const FValue &Value)
 
FValue UE::Shader::Abs (const FValue &Value)
 
FValue UE::Shader::Saturate (const FValue &Value)
 
FValue UE::Shader::Floor (const FValue &Value)
 
FValue UE::Shader::Ceil (const FValue &Value)
 
FValue UE::Shader::Round (const FValue &Value)
 
FValue UE::Shader::Trunc (const FValue &Value)
 
FValue UE::Shader::Sign (const FValue &Value)
 
FValue UE::Shader::Frac (const FValue &Value)
 
FValue UE::Shader::Fractional (const FValue &Value)
 
FValue UE::Shader::Sqrt (const FValue &Value)
 
FValue UE::Shader::Rcp (const FValue &Value)
 
FValue UE::Shader::Exp (const FValue &Value)
 
FValue UE::Shader::Exp2 (const FValue &Value)
 
FValue UE::Shader::Log (const FValue &Value)
 
FValue UE::Shader::Log2 (const FValue &Value)
 
FValue UE::Shader::Log10 (const FValue &Value)
 
FValue UE::Shader::Sin (const FValue &Value)
 
FValue UE::Shader::Cos (const FValue &Value)
 
FValue UE::Shader::Tan (const FValue &Value)
 
FValue UE::Shader::Asin (const FValue &Value)
 
FValue UE::Shader::Acos (const FValue &Value)
 
FValue UE::Shader::Atan (const FValue &Value)
 
FValue UE::Shader::Add (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::Sub (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::Mul (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::Div (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::Less (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::Greater (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::LessEqual (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::GreaterEqual (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::Min (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::Max (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::Clamp (const FValue &Value, const FValue &Low, const FValue &High)
 
FValue UE::Shader::Fmod (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::Modulo (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::Atan2 (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::Dot (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::Cross (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::Append (const FValue &Lhs, const FValue &Rhs)
 
FValue UE::Shader::Cast (const FValue &Value, EValueType Type)
 
EValueType UE::Shader::NegInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::AbsInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::SaturateInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::FloorInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::CeilInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::RoundInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::TruncInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::SignInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::FracInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::FractionalInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::SqrtInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::RcpInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::ExpInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::Exp2InPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::LogInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::Log2InPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::Log10InPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::SinInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::CosInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::TanInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::AsinInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::AcosInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::AtanInPlace (EValueType Type, TArrayView< FValueComponent > Component)
 
EValueType UE::Shader::AddInPlace (EValueType LhsType, EValueType RhsType, TArrayView< FValueComponent > Component, int32 &OutComponentsConsumed)
 
EValueType UE::Shader::SubInPlace (EValueType LhsType, EValueType RhsType, TArrayView< FValueComponent > Component, int32 &OutComponentsConsumed)
 
EValueType UE::Shader::MulInPlace (EValueType LhsType, EValueType RhsType, TArrayView< FValueComponent > Component, int32 &OutComponentsConsumed)
 
EValueType UE::Shader::DivInPlace (EValueType LhsType, EValueType RhsType, TArrayView< FValueComponent > Component, int32 &OutComponentsConsumed)
 
EValueType UE::Shader::MinInPlace (EValueType LhsType, EValueType RhsType, TArrayView< FValueComponent > Component, int32 &OutComponentsConsumed)
 
EValueType UE::Shader::MaxInPlace (EValueType LhsType, EValueType RhsType, TArrayView< FValueComponent > Component, int32 &OutComponentsConsumed)
 
EValueType UE::Shader::FmodInPlace (EValueType LhsType, EValueType RhsType, TArrayView< FValueComponent > Component, int32 &OutComponentsConsumed)
 
EValueType UE::Shader::ModuloInPlace (EValueType LhsType, EValueType RhsType, TArrayView< FValueComponent > Component, int32 &OutComponentsConsumed)
 
EValueType UE::Shader::Atan2InPlace (EValueType LhsType, EValueType RhsType, TArrayView< FValueComponent > Component, int32 &OutComponentsConsumed)
 
EValueType UE::Shader::AppendInPlace (EValueType LhsType, EValueType RhsType, TArrayView< FValueComponent > Component, int32 &OutComponentsConsumed)
 
 DECLARE_INTRINSIC_TYPE_LAYOUT (UE::Shader::EValueType)
 
 DECLARE_INTRINSIC_TYPE_LAYOUT (UE::Shader::EValueComponentType)
 

Variables

constexpr int32 UE::Shader::NumValueTypes = (int32)EValueType::Num
 

Function Documentation

◆ DECLARE_INTRINSIC_TYPE_LAYOUT() [1/2]

DECLARE_INTRINSIC_TYPE_LAYOUT ( UE::Shader::EValueComponentType  )

◆ DECLARE_INTRINSIC_TYPE_LAYOUT() [2/2]

DECLARE_INTRINSIC_TYPE_LAYOUT ( UE::Shader::EValueType  )