/** * @public */ export interface ShaderObjectInfo { /** * Annotated metadata about the defined object */ [key: string]: any; /** * The user defined binding name of the defined object */ binding?: string; /** * The identifier of the defined object as it appears in the source code */ name: string; /** * The type of the defined object */ type: string; /** * The layout qualifier */ layout?: any; } /** * @public */ export interface ProgramInspection { /** * All attribute statements */ inputs: { [key: string]: ShaderObjectInfo; }; /** * All uniform statements */ uniforms: { [key: string]: ShaderObjectInfo; }; /** * The vertex shader source */ vertexShader: string; /** * The fragment shader source */ fragmentShader: string; } /** * @public */ export interface ShaderInspection { defines: { [key: string]: any; }; constants: { [key: string]: ShaderObjectInfo; }; attributes: { [key: string]: ShaderObjectInfo; }; uniforms: { [key: string]: ShaderObjectInfo; }; varying: { [key: string]: ShaderObjectInfo; }; inputs: { [key: string]: ShaderObjectInfo; }; outputs: { [key: string]: ShaderObjectInfo; }; structs: { [key: string]: ShaderObjectInfo; }; lines: string[]; } /** * @public */ export declare class ShaderInspector { static formatInfoLog(log: string, source: string): string; static inspectProgram(vertexShader: string, fragmentShader: string): ProgramInspection; static inspectShader(source: string): ShaderInspection; static fixTextureRegisters(uniforms: { [key: string]: ShaderObjectInfo; }): void; static inspectQualifiers(source: string | string[], result: ShaderInspection): any; static inspectStructs(source: string, result: any): any; static inspectStructMembers(block: string, out?: any): any; /** * */ static preprocess(source: string | string[], out: ShaderInspection): any; static evaluateIfExpression(expression: string, defines: any): boolean; /** * */ static parseAnnotations(source: string | string[], out?: any): any; static fixStructUniforms(uniforms: any, structs: any, defines: { [key: string]: ShaderObjectInfo; }): void; } //# sourceMappingURL=ShaderInspector.d.ts.map