Navigation
API > API/Runtime > API/Runtime/Engine > API/Runtime/Engine/HLSLTree
References
| Module | Engine |
| Header | /Engine/Source/Runtime/Engine/Public/HLSLTree/HLSLTree.h |
| Include | #include "HLSLTree/HLSLTree.h" |
Syntax
class FTree
Remarks
The HLSL AST. Basically a wrapper around the root scope, with some helper methods
Variables
| Type | Name | Description | |
|---|---|---|---|
| FActiveStructFieldStack | ActiveStructFieldStack |
Functions
| Type | Name | Description | |
|---|---|---|---|
| const FExpression * | AcquireLocal
(
FScope& Scope, |
||
| void | AssignLocal
(
FScope& Scope, |
||
| FTree * | Create
(
FMemStackBase& Allocator |
||
| void | |||
| bool | EmitShader
(
FEmitContext& Context, |
||
| bool | Finalize () |
||
| FMemStackBase & | GetAllocator () |
||
| FExpressionDerivatives | GetAnalyticDerivatives
(
const FExpression* InExpression |
||
| UObject * | |||
| const FExpression * | GetPreview
(
const FExpression* InExpression |
||
| const FExpression * | GetPreviousFrame
(
const FExpression* InExpression, |
||
| FScope & | GetRootScope () |
||
| const FExpression * | NewAbs
(
const FExpression* Input |
||
| const FExpression * | NewAdd
(
const FExpression* Lhs, |
||
| const FExpression * | NewAppend
(
const FExpression* Lhs, |
||
| const FExpression * | NewAppend
(
const FExpression* Lhs, |
||
| const FExpression * | NewBinaryOp
(
EOperation Op, |
||
| const FExpression * | NewConstant
(
const Shader::FValue& Value |
Shortcuts to create various common expression types | |
| const FExpression * | NewCos
(
const FExpression* Input |
||
| const FExpression * | NewCross
(
const FExpression* Lhs, |
||
| const FExpression * | NewDiv
(
const FExpression* Lhs, |
||
| const FExpression * | NewDot
(
const FExpression* Lhs, |
||
| const FExpression * | NewExp
(
const FExpression* Input |
||
| const FExpression * | NewExp2
(
const FExpression* Input |
||
| const FExpression * | NewExpression
(
ArgTypes&&... Args |
Creates a new FExpression-derived type by passing the given arguments to the constructor Given arguments are hashed, and may result in returning an existing expression if the hash matches | |
| const FExpression * | NewFmod
(
const FExpression* Lhs, |
||
| const FExpression * | NewFrac
(
const FExpression* Input |
||
| FFunction * | NewFunction () |
||
| const FExpression * | NewFunctionCall
(
FScope& Scope, |
||
| const FExpression * | NewGreater
(
const FExpression* Lhs, |
||
| const FExpression * | NewGreaterEqual
(
const FExpression* Lhs, |
||
| const FExpression * | NewLength
(
const FExpression* Input |
||
| const FExpression * | NewLerp
(
const FExpression* A, |
||
| const FExpression * | NewLess
(
const FExpression* Lhs, |
||
| const FExpression * | NewLessEqual
(
const FExpression* Lhs, |
||
| const FExpression * | NewLog
(
const FExpression* Input |
||
| const FExpression * | NewLog2
(
const FExpression* Input |
||
| const FExpression * | NewMax
(
const FExpression* Lhs, |
||
| const FExpression * | NewMin
(
const FExpression* Lhs, |
||
| const FExpression * | NewModulo
(
const FExpression* Lhs, |
||
| const FExpression * | NewMul
(
const FExpression* Lhs, |
||
| const FExpression * | NewNeg
(
const FExpression* Input |
||
| const FExpression * | NewNormalize
(
const FExpression* Input |
||
| FScope * | NewOwnedScope
(
FStatement& Owner |
||
| const FExpression * | NewPow2
(
const FExpression* Input |
||
| const FExpression * | NewPowClamped
(
const FExpression* Lhs, |
||
| const FExpression * | NewRcp
(
const FExpression* Input |
||
| const FExpression * | NewRsqrt
(
const FExpression* Input |
||
| const FExpression * | NewSaturate
(
const FExpression* Input |
||
| FScope * | |||
| const FExpression * | NewSin
(
const FExpression* Input |
||
| const FExpression * | NewSmoothStep
(
const FExpression* Input0, |
||
| const FExpression * | NewSqrt
(
const FExpression* Input |
||
| T * | NewStatement
(
FScope& Scope, |
||
| const FExpression * | NewStep
(
const FExpression* Lhs, |
||
| const FExpression * | NewSub
(
const FExpression* Lhs, |
||
| const FExpression * | NewSum
(
const FExpression* Input |
||
| const FExpression * | NewSwizzle
(
const FSwizzleParameters& Params, |
||
| const FExpression * | NewTernaryOp
(
EOperation Op, |
||
| const FExpression * | NewTruncateLWC
(
const FExpression* Input |
||
| const FExpression * | NewUnaryOp
(
EOperation Op, |
||
| UObject * | PopOwner () |
||
| void |