@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
24 lines (23 loc) • 1.45 kB
TypeScript
import { ShaderName } from '../../../utils/shaders/ShaderName';
import { BaseGLDefinition } from '../../utils/GLDefinition';
import { LinesController, DefinitionTraverseCallback, AddBodyLinesOptions } from './LinesController';
import { BaseGlNodeType } from '../../_Base';
import { TypedAssembler } from '../../../utils/shaders/BaseAssembler';
import { NodeContext } from '../../../../poly/NodeContext';
export declare class ShadersCollectionController {
private _shaderNames;
private _currentShaderName;
private _assembler;
private _linesControllerByShaderName;
constructor(_shaderNames: ShaderName[], _currentShaderName: ShaderName, _assembler: TypedAssembler<NodeContext.GL>);
assembler(): TypedAssembler<NodeContext.GL>;
linesController(shaderName: ShaderName): LinesController | undefined;
shaderNames(): ShaderName[];
setCurrentShaderName(shaderName: ShaderName): void;
currentShaderName(): ShaderName;
addDefinitions(node: BaseGlNodeType, definitions: BaseGLDefinition[], shaderName?: ShaderName): void;
definitions(shaderName: ShaderName, node: BaseGlNodeType): BaseGLDefinition[] | undefined;
traverseDefinitions(shaderName: ShaderName, callback: DefinitionTraverseCallback): void;
addBodyLines(node: BaseGlNodeType, lines: string[], shaderName?: ShaderName, options?: AddBodyLinesOptions): void;
bodyLines(shaderName: ShaderName, node: BaseGlNodeType): string[] | undefined;
}