UNPKG

polygonjs-engine

Version:

node-based webgl 3D engine https://polygonjs.com

59 lines (56 loc) 2.83 kB
import {AssemblerName, ControllerAssemblerPair} from './_BaseRegister'; import {GlAssemblerController} from '../../../nodes/gl/code/Controller'; import {ShaderAssemblerBasic} from '../../../nodes/gl/code/assemblers/materials/Basic'; import {ShaderAssemblerLambert} from '../../../nodes/gl/code/assemblers/materials/Lambert'; import {ShaderAssemblerStandard} from '../../../nodes/gl/code/assemblers/materials/Standard'; import {ShaderAssemblerPoints} from '../../../nodes/gl/code/assemblers/materials/Points'; import {ShaderAssemblerParticles} from '../../../nodes/gl/code/assemblers/particles/Particles'; import {ShaderAssemblerTexture} from '../../../nodes/gl/code/assemblers/textures/Texture'; import {ShaderAssemblerVolume} from '../../../nodes/gl/code/assemblers/materials/Volume'; export interface AssemblersMap extends PolyDictionary<ControllerAssemblerPair> { [AssemblerName.GL_MESH_BASIC]: { controller: GlAssemblerController<ShaderAssemblerBasic>; assembler: typeof ShaderAssemblerBasic; }; [AssemblerName.GL_MESH_LAMBERT]: { controller: GlAssemblerController<ShaderAssemblerLambert>; assembler: typeof ShaderAssemblerLambert; }; [AssemblerName.GL_MESH_STANDARD]: { controller: GlAssemblerController<ShaderAssemblerStandard>; assembler: typeof ShaderAssemblerStandard; }; [AssemblerName.GL_PARTICLES]: { controller: GlAssemblerController<ShaderAssemblerParticles>; assembler: typeof ShaderAssemblerParticles; }; [AssemblerName.GL_POINTS]: { controller: GlAssemblerController<ShaderAssemblerPoints>; assembler: typeof ShaderAssemblerPoints; }; [AssemblerName.GL_TEXTURE]: { controller: GlAssemblerController<ShaderAssemblerTexture>; assembler: typeof ShaderAssemblerTexture; }; [AssemblerName.GL_VOLUME]: { controller: GlAssemblerController<ShaderAssemblerVolume>; assembler: typeof ShaderAssemblerVolume; }; } import {PolyEngine} from '../../../Poly'; import {PolyDictionary} from '../../../../types/GlobalTypes'; export class AllAssemblersRegister { static run(poly: PolyEngine) { poly.assemblersRegister.register(AssemblerName.GL_MESH_BASIC, GlAssemblerController, ShaderAssemblerBasic); poly.assemblersRegister.register(AssemblerName.GL_MESH_LAMBERT, GlAssemblerController, ShaderAssemblerLambert); poly.assemblersRegister.register( AssemblerName.GL_MESH_STANDARD, GlAssemblerController, ShaderAssemblerStandard ); poly.assemblersRegister.register(AssemblerName.GL_PARTICLES, GlAssemblerController, ShaderAssemblerParticles); poly.assemblersRegister.register(AssemblerName.GL_POINTS, GlAssemblerController, ShaderAssemblerPoints); poly.assemblersRegister.register(AssemblerName.GL_TEXTURE, GlAssemblerController, ShaderAssemblerTexture); poly.assemblersRegister.register(AssemblerName.GL_VOLUME, GlAssemblerController, ShaderAssemblerVolume); } }