Class GraphCodeGenerationContext

The GraphCodeGenerationContext is used during code generation to create the actual code.

Constructors

Properties

buffer: string

The buffer to hold the generated code.

diagnosticMessages: string[]

Diagnostic messages.

forcedTemporaryGenerationNodes: Set<ImmutableGraphNode>

Optional set of nodes that will always emit temporaries, indepedent of their connection count.

globalFunctions: Set<string>
hasError: boolean

Determines if an error was generated.

indentLevel: number

The current indent level.

isDefaultObjectRequired: {
    sampler: boolean;
    texture1D: boolean;
    texture2D: boolean;
    texture3D: boolean;
}

Holds the state for the requirement of default objects.

The code generation language.

The code generation mode.

objectNames: Map<GraphObject, string>

The preview data.

Not all code generation graphs support preview generation.

supressEmitCode: boolean

Determines whether code generation is disabled.

temporaryGeneratingNodes: Set<ImmutableGraphNode>
temporaryNames: Map<GraphPin, string>
temporaryStack: CodeGeneratingGraphNode[]
variableValues: Map<bigint, any>
visitedNodes: Set<GraphNode>
defaultNumberPrecision = 16
implicitObjectIndex: number

The implicit object index tracks the number of implicit objects created globally. This is important for implicit samplers and textures, otherwise instanced shaders might not update correctly to the updated value, as it's retained in the parameter buffer.

Methods

  • Returns void

  • Parameters

    • lhs: string
    • rhs: string

    Returns void

  • Parameters

    • msg: string

    Returns void

  • Parameters

    Returns void

  • Parameters

    • category: string
    • name: string
    • body: string

    Returns void

  • Parameters

    • msg: string

    Returns void

  • Returns void

  • Returns void

  • Parameters

    • text: string

    Returns void

  • Returns void

  • Parameters

    Returns void

  • Parameters

    • type: string | GraphType
    • name: string
    • value: string

    Returns void

  • Parameters

    Returns void

  • Returns void

  • Returns void

  • Returns void

  • Returns void

  • Returns void

  • Parameters

    • name: string
    • value: string

    Returns void

  • Parameters

    • name: string

    Returns void

  • Returns void

  • Returns void

  • Parameters

    • text: string

    Returns void

  • Returns void

  • Parameters

    • variable: GraphVariable
    • OptionalasConst: boolean
    • OptionalincludeValue: boolean

    Returns void

  • Parameters

    • name: string
    • Optionalvalue: string

    Returns void

  • Parameters

    Returns void

  • Parameters

    Returns void

  • Parameters

    • msg: string

    Returns void

  • Parameters

    Returns string

  • Parameters

    Returns string

  • Parameters

    Returns string

  • Parameters

    Returns string

  • Parameters

    Returns string

  • Returns void

  • Parameters

    Returns string

  • Parameters

    Returns string