/Engine/Source/Runtime/Engine/Public/HLSLTree/HLSLTreeTypes.h
The HLSLTree module contains classes to build an HLSL AST (abstract syntax tree) This allows C++ to procedurally define an HLSL program. The structure of the tree is designed to be flexible, to facilitate incremental generation from a material node graph Once the tree is complete, HLSL source code may be generated
namespace UE { namespace HLSLTree { enum EOperation { None, Abs, Neg, Rcp, Sqrt, Rsqrt, Log, Log2, Exp, Exp2, Frac, Floor, Ceil, Round, Trunc, Saturate, Sign, Length, Normalize, Sum, Sin, Cos, Tan, Asin, AsinFast, Acos, AcosFast, Atan, AtanFast, TruncateLWC, Add, Sub, Mul, Div, Fmod, Step, PowPositiveClamped, Atan2, Atan2Fast, Min, Max, Less, Greater, LessEqual, GreaterEqual, VecMulMatrix3, VecMulMatrix4, Matrix3MulVec, Matrix4MulVec, SmoothStep, } } }