import { Dictionary, Specification } from "stardust-core"; import { ProgramGenerator, ShaderGenerator } from "../glsl/glsl"; export declare enum GenerateMode { NORMAL = 0, PICK = 1, FRAGMENT = 2 } export declare enum ViewType { VIEW_2D = 0, VIEW_3D = 1, VIEW_MATRIX = 2 } export declare class GLSLVertexShaderGenerator extends ShaderGenerator { private _parent; constructor(parent: Generator); addEmitStatement(sEmit: Specification.StatementEmit): void; } export declare class GLSLFragmentShaderGenerator extends ShaderGenerator { private _parent; constructor(parent: Generator); addEmitStatement(sEmit: Specification.StatementEmit): void; } export declare class Generator extends ProgramGenerator { _vertex: GLSLVertexShaderGenerator; _fragment: GLSLFragmentShaderGenerator; _mode: GenerateMode; _voutMapping: Dictionary; _foutMapping: Dictionary; _fragmentOutputName: string; private _viewType; private _vertexCode; private _fragmentCode; constructor(spec: Specification.Mark, shader: Specification.Shader, asUniform: (name: string) => boolean, viewType: ViewType, mode?: GenerateMode); compile(): void; getVertexCode(): string; getFragmentCode(): string; }