UNPKG

@polygonjs/polygonjs

Version:

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

131 lines (130 loc) 6.81 kB
import { AssemblerName, ControllerAssemblerPair } from './_BaseRegister'; import { GlAssemblerController } from '../../../nodes/gl/code/Controller'; import { JsAssemblerController } from '../../../nodes/js/code/Controller'; import { ShaderAssemblerBasic } from '../../../nodes/gl/code/assemblers/materials/Basic'; import { ShaderAssemblerCloth } from '../../../nodes/gl/code/assemblers/cloth/ClothAssembler'; import { ShaderAssemblerLambert } from '../../../nodes/gl/code/assemblers/materials/Lambert'; import { ShaderAssemblerLine } from '../../../nodes/gl/code/assemblers/materials/Line'; import { ShaderAssemblerParticles } from '../../../nodes/gl/code/assemblers/particles/Particles'; import { ShaderAssemblerPhong } from '../../../nodes/gl/code/assemblers/materials/Phong'; import { ShaderAssemblerPhysical } from '../../../nodes/gl/code/assemblers/materials/Physical'; import { ShaderAssemblerPoints } from '../../../nodes/gl/code/assemblers/materials/Points'; import { ShaderAssemblerPost } from '../../../nodes/gl/code/assemblers/post/Post'; import { ShaderAssemblerRayMarching } from '../../../nodes/gl/code/assemblers/materials/RayMarching'; import { ShaderAssemblerStandard } from '../../../nodes/gl/code/assemblers/materials/Standard'; import { ShaderAssemblerTexture } from '../../../nodes/gl/code/assemblers/textures/Texture'; import { ShaderAssemblerTexture2DArray } from '../../../nodes/gl/code/assemblers/textures/Texture2DArray'; import { ShaderAssemblerToon } from '../../../nodes/gl/code/assemblers/materials/Toon'; import { ShaderAssemblerVolume } from '../../../nodes/gl/code/assemblers/materials/Volume'; import { ShaderAssemblerCustomMeshDepthForRender } from '../../../nodes/gl/code/assemblers/materials/custom/mesh/CustomMeshDepth'; import { ShaderAssemblerCustomMeshDistanceForRender } from '../../../nodes/gl/code/assemblers/materials/custom/mesh/CustomMeshDistance'; import { JsAssemblerActor } from '../../../nodes/js/code/assemblers/actor/ActorAssembler'; import { JsAssemblerEntityBuilder } from '../../../nodes/js/code/assemblers/entityBuilder/EntityBuilderAssembler'; import { JsAssemblerInstanceBuilder } from '../../../nodes/js/code/assemblers/instanceBuilder/InstanceBuilderAssembler'; import { JsAssemblerObjectBuilder } from '../../../nodes/js/code/assemblers/objectBuilder/ObjectBuilderAssembler'; import { JsAssemblerPointBuilder } from '../../../nodes/js/code/assemblers/pointBuilder/PointBuilderAssembler'; import { JsAssemblerSDF } from '../../../nodes/js/code/assemblers/sdf/SDF'; import { JsAssemblerSoftBody } from '../../../nodes/js/code/assemblers/softBody/SoftBodyAssembler'; export interface AssemblersMap extends PolyDictionary<ControllerAssemblerPair> { [AssemblerName.GL_MESH_BASIC]: { controller: GlAssemblerController<ShaderAssemblerBasic>; assembler: typeof ShaderAssemblerBasic; }; [AssemblerName.GL_CLOTH]: { controller: GlAssemblerController<ShaderAssemblerCloth>; assembler: typeof ShaderAssemblerCloth; }; [AssemblerName.GL_MESH_LAMBERT]: { controller: GlAssemblerController<ShaderAssemblerLambert>; assembler: typeof ShaderAssemblerLambert; }; [AssemblerName.GL_MESH_PHONG]: { controller: GlAssemblerController<ShaderAssemblerPhong>; assembler: typeof ShaderAssemblerPhong; }; [AssemblerName.GL_MESH_STANDARD]: { controller: GlAssemblerController<ShaderAssemblerStandard>; assembler: typeof ShaderAssemblerStandard; }; [AssemblerName.GL_MESH_PHYSICAL]: { controller: GlAssemblerController<ShaderAssemblerPhysical>; assembler: typeof ShaderAssemblerPhysical; }; [AssemblerName.GL_MESH_TOON]: { controller: GlAssemblerController<ShaderAssemblerToon>; assembler: typeof ShaderAssemblerToon; }; [AssemblerName.GL_MESH_DEPTH]: { controller: GlAssemblerController<ShaderAssemblerCustomMeshDepthForRender>; assembler: typeof ShaderAssemblerCustomMeshDepthForRender; }; [AssemblerName.GL_MESH_DISTANCE]: { controller: GlAssemblerController<ShaderAssemblerCustomMeshDistanceForRender>; assembler: typeof ShaderAssemblerCustomMeshDistanceForRender; }; [AssemblerName.GL_PARTICLES]: { controller: GlAssemblerController<ShaderAssemblerParticles>; assembler: typeof ShaderAssemblerParticles; }; [AssemblerName.GL_POINTS]: { controller: GlAssemblerController<ShaderAssemblerPoints>; assembler: typeof ShaderAssemblerPoints; }; [AssemblerName.GL_LINE]: { controller: GlAssemblerController<ShaderAssemblerLine>; assembler: typeof ShaderAssemblerLine; }; [AssemblerName.GL_POST]: { controller: GlAssemblerController<ShaderAssemblerPost>; assembler: typeof ShaderAssemblerPost; }; [AssemblerName.GL_RAYMARCHING]: { controller: GlAssemblerController<ShaderAssemblerRayMarching>; assembler: typeof ShaderAssemblerRayMarching; }; [AssemblerName.GL_TEXTURE]: { controller: GlAssemblerController<ShaderAssemblerTexture>; assembler: typeof ShaderAssemblerTexture; }; [AssemblerName.GL_TEXTURE_2D_ARRAY]: { controller: GlAssemblerController<ShaderAssemblerTexture2DArray>; assembler: typeof ShaderAssemblerTexture2DArray; }; [AssemblerName.GL_VOLUME]: { controller: GlAssemblerController<ShaderAssemblerVolume>; assembler: typeof ShaderAssemblerVolume; }; [AssemblerName.JS_ACTOR]: { controller: JsAssemblerController<JsAssemblerActor>; assembler: typeof JsAssemblerActor; }; [AssemblerName.JS_ENTITY_BUILDER]: { controller: JsAssemblerController<JsAssemblerEntityBuilder>; assembler: typeof JsAssemblerEntityBuilder; }; [AssemblerName.JS_INSTANCE_BUILDER]: { controller: JsAssemblerController<JsAssemblerInstanceBuilder>; assembler: typeof JsAssemblerInstanceBuilder; }; [AssemblerName.JS_OBJECT_BUILDER]: { controller: JsAssemblerController<JsAssemblerObjectBuilder>; assembler: typeof JsAssemblerObjectBuilder; }; [AssemblerName.JS_POINT_BUILDER]: { controller: JsAssemblerController<JsAssemblerPointBuilder>; assembler: typeof JsAssemblerPointBuilder; }; [AssemblerName.JS_SDF]: { controller: JsAssemblerController<JsAssemblerSDF>; assembler: typeof JsAssemblerSDF; }; [AssemblerName.JS_SOFT_BODY]: { controller: JsAssemblerController<JsAssemblerSoftBody>; assembler: typeof JsAssemblerSoftBody; }; } import { PolyEngine } from '../../../Poly'; import { PolyDictionary } from '../../../../types/GlobalTypes'; export declare class AllAssemblersRegister { static run(poly: PolyEngine): void; }