DirectX / HLSL Source Backend¶
DirectX HLSL source backend exports for CrossGL Translator.
DirectX/HLSL AST Node definitions
- class crosstl.backend.DirectX.DirectxAst.CbufferNode(name, members)[source]¶
Bases:
StructNodeHLSL constant-buffer declaration with named member variables.
- class crosstl.backend.DirectX.DirectxAst.IncludeNode(path, is_system=False)[source]¶
Bases:
ASTNodeHLSL include directive with system/local include metadata.
- class crosstl.backend.DirectX.DirectxAst.PragmaNode(directive, value=None)[source]¶
Bases:
ASTNodePreprocessor pragma directive preserved in the HLSL AST.
- class crosstl.backend.DirectX.DirectxAst.SwitchCaseNode(case_value, statements, is_default=False)[source]¶
Bases:
ASTNodeLegacy switch case node with default-case tracking.
- class crosstl.backend.DirectX.DirectxAst.SwitchStatementNode(expression, cases)[source]¶
Bases:
ASTNodeLegacy switch statement node used by older HLSL parser paths.
Lexer for importing HLSL source into CrossGL Translator.
- class crosstl.backend.DirectX.DirectxLexer.HLSLLexer(code, preprocess=True, file_path=None, include_paths=None, defines=None, strict_preprocessor=False)[source]¶
Bases:
objectTokenize High-Level Shading Language source for the DirectX parser.
- class crosstl.backend.DirectX.DirectxLexer.Lexer(input_str)[source]¶
Bases:
objectCompatibility wrapper around HLSLLexer for legacy code
- class crosstl.backend.DirectX.DirectxLexer.Token(token_type, text)[source]¶
Bases:
objectSimple typed token object used by DirectX compatibility paths.
- class crosstl.backend.DirectX.DirectxLexer.TokenType(value)[source]¶
Bases:
EnumToken names emitted by the HLSL lexer.
Parser for DirectX HLSL source AST construction.
- class crosstl.backend.DirectX.DirectxParser.HLSLParser(tokens)[source]¶
Bases:
objectParse HLSL tokens into the DirectX backend shader AST.
Reverse code generator that emits CrossGL from HLSL AST nodes.
- class crosstl.backend.DirectX.DirectxCrossGLCodeGen.HLSLToCrossGLConverter[source]¶
Bases:
objectSerialize DirectX backend AST nodes back into CrossGL source.
- generate_expression(expr, is_main=False)[source]¶
Render a DirectX backend expression node as CrossGL syntax.
Preprocessor support for DirectX HLSL source imports.