import { ShaderGenerator, ProgramGenerator } from "../glsl/glsl"; import { Specification } from "stardust-core"; import { Dictionary } from "stardust-core"; export declare enum GenerateMode { NORMAL = 0, PICK = 1, } export declare enum ViewType { VIEW_2D = 0, VIEW_3D = 1, } export declare class GLSLGeometryShaderGenerator 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: ShaderGenerator; _geometry: GLSLGeometryShaderGenerator; _fragment: GLSLFragmentShaderGenerator; _vertexCode: string; _geometryCode: string; _fragmentCode: string; _voutMapping: Dictionary; _goutMapping: Dictionary; _foutMapping: Dictionary; _fragmentOutputName: string; constructor(prefixCode: string, spec: Specification.Mark, shader: Specification.Shader, asUniform: (name: string) => boolean); compile(): void; getVertexCode(): string; getGeometryCode(): string; getFragmentCode(): string; }