@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
13 lines (12 loc) • 635 B
text/typescript
import {ShaderNameByContextMap} from './ShaderName';
import {BaseNodeByContextMap, NodeContext} from '../../../poly/NodeContext';
// import {BaseGlNodeType} from '../../gl/_Base';
// import {NodeTypeMap} from '../../../containers/utils/ContainerMap';
export abstract class TypedAssembler<NC extends NodeContext> {
abstract shaderNames(): ShaderNameByContextMap[NC][];
abstract inputNamesForShaderName(node: BaseNodeByContextMap[NC], shaderName: ShaderNameByContextMap[NC]): string[];
abstract rootNodesByShaderName(
shaderName: ShaderNameByContextMap[NC],
rootNodes: BaseNodeByContextMap[NC][]
): BaseNodeByContextMap[NC][];
}