OpenGL / GLSL Source Backend¶
GLSL source backend exports for CrossGL Translator.
OpenGL/GLSL AST Node definitions
- class crosstl.backend.GLSL.OpenglAst.BlockNode(statements)[source]¶
Bases:
ASTNodeNode representing a block of statements
- class crosstl.backend.GLSL.OpenglAst.ConstantNode(vtype, name, value=None)[source]¶
Bases:
ASTNodeNode representing a constant declaration
- class crosstl.backend.GLSL.OpenglAst.LayoutNode(qualifiers=None, declaration=None)[source]¶
Bases:
ASTNodeNode representing layout qualifiers
- class crosstl.backend.GLSL.OpenglAst.NumberNode(value)[source]¶
Bases:
ASTNodeNode representing a numeric literal
- class crosstl.backend.GLSL.OpenglAst.UniformNode(vtype, name, value=None)[source]¶
Bases:
ASTNodeNode representing a uniform variable
Lexer for importing GLSL source into CrossGL Translator.
- class crosstl.backend.GLSL.OpenglLexer.GLSLLexer(code, preprocess=True, include_paths=None, defines=None, strict_preprocessor=True, max_expansion_depth=64, file_path=None)[source]¶
Bases:
objectTokenize GLSL source for the OpenGL parser.
- classmethod from_file(filepath, preprocess=True, include_paths=None, defines=None, strict_preprocessor=True, max_expansion_depth=64)[source]¶
Create a lexer instance from a GLSL source file.
- Return type:
Parser for GLSL source AST construction.
- class crosstl.backend.GLSL.OpenglParser.GLSLParser(tokens, shader_type='vertex')[source]¶
Bases:
objectParse GLSL tokens into the OpenGL backend shader AST.
Reverse code generator that emits CrossGL from GLSL AST nodes.
- class crosstl.backend.GLSL.openglCrossglCodegen.GLSLToCrossGLConverter(shader_type='vertex')[source]¶
Bases:
objectSerialize OpenGL backend AST nodes back into CrossGL source.
- convert_type(type_name)[source]¶
Convert a GLSL type to its CrossGL equivalent
- Parameters:
type_name – The GLSL type name
- Returns:
The equivalent CrossGL type name
- Return type:
str
- generate_array_access(node)[source]¶
Generate CrossGL code for an array access expression
- Parameters:
node – ArrayAccessNode representing a GLSL array access
- Returns:
The CrossGL array access expression
- Return type:
str
Preprocessor support for GLSL source imports.