Skip to content

WgslGenerator

Defined in: packages/typegpu/src/tgsl/wgslGenerator.ts:221

NOTE: This is an unstable API and may change in the future.

An interface meant to be used by other systems to generate snippets of shader code in the target language (WGSL, GLSL, etc.).

new WgslGenerator(): WgslGenerator

WgslGenerator

languageKey: string

Defined in: packages/typegpu/src/tgsl/wgslGenerator.ts:228

ShaderGenerator.languageKey

declareGlobalConst(options): ResolvedSnippet

Defined in: packages/typegpu/src/tgsl/wgslGenerator.ts:1054

ConstantDefinitionOptions

ResolvedSnippet

ShaderGenerator.declareGlobalConst


declareGlobalVar(options): ResolvedSnippet

Defined in: packages/typegpu/src/tgsl/wgslGenerator.ts:1066

VariableDefinitionOptions

ResolvedSnippet

ShaderGenerator.declareGlobalVar


emitBinaryOp(lhs, op, rhs): string

Defined in: packages/typegpu/src/tgsl/wgslGenerator.ts:1224

Snippet

BinaryOperator

Snippet

string

ShaderGenerator.emitBinaryOp


emitCall(name, templateParams, args): string

Defined in: packages/typegpu/src/tgsl/wgslGenerator.ts:1208

string

readonly Snippet[]

readonly Snippet[]

string

ShaderGenerator.emitCall


emitTypeAnnotation(data): string

Defined in: packages/typegpu/src/tgsl/wgslGenerator.ts:1152

Generates a WGSL type string for the given data type, and adds necessary definitions to the shader preamble. This shouldn’t be called directly, only through ctx.resolve to properly cache the result.

BaseData

string

ShaderGenerator.emitTypeAnnotation


functionDefinition(options): string

Defined in: packages/typegpu/src/tgsl/wgslGenerator.ts:1093

FunctionDefinitionOptions

string

ShaderGenerator.functionDefinition


initGenerator(ctx): void

Defined in: packages/typegpu/src/tgsl/wgslGenerator.ts:234

ResolutionCtx

void

ShaderGenerator.initGenerator


numericLiteral(value, schema): ResolvedSnippet

Defined in: packages/typegpu/src/tgsl/wgslGenerator.ts:1176

number

BaseData

ResolvedSnippet

ShaderGenerator.numericLiteral


refVariable(id, dataType): string

Defined in: packages/typegpu/src/tgsl/wgslGenerator.ts:329

string

StorableData

string


typeInstantiation(schema, args): ResolvedSnippet

Defined in: packages/typegpu/src/tgsl/wgslGenerator.ts:1156

BaseData

readonly Snippet[]

ResolvedSnippet

ShaderGenerator.typeInstantiation