polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
47 lines (42 loc) • 1.79 kB
text/typescript
import {CATEGORY_ROP} from './Category';
import {AnimationsRopNode} from '../../../nodes/rop/Animations';
import {CopRopNode} from '../../../nodes/rop/Cop';
import {Css2DRendererRopNode} from '../../../nodes/rop/Css2DRenderer';
import {Css3DRendererRopNode} from '../../../nodes/rop/Css3DRenderer';
import {EventsRopNode} from '../../../nodes/rop/Events';
import {MaterialsRopNode} from '../../../nodes/rop/Materials';
import {PostProcessRopNode} from '../../../nodes/rop/PostProcess';
import {RenderersRopNode} from '../../../nodes/rop/Renderers';
import {WebGlRendererRopNode} from '../../../nodes/rop/WebGlRenderer';
export enum RopType {
CSS2D = 'css2DRenderer',
CSS3D = 'css3DRenderer',
WEBGL = 'webGlRenderer',
}
export interface RopNodeChildrenMap {
css2DRenderer: Css2DRendererRopNode;
css3DRenderer: Css3DRendererRopNode;
webGlRenderer: WebGlRendererRopNode;
// networks
animations: AnimationsRopNode;
cop: CopRopNode;
events: EventsRopNode;
materials: MaterialsRopNode;
postProcess: PostProcessRopNode;
renderers: RenderersRopNode;
}
import {PolyEngine} from '../../../Poly';
export class RopRegister {
static run(poly: PolyEngine) {
poly.registerNode(Css2DRendererRopNode, CATEGORY_ROP.CSS);
// poly.registerNode(Css3DRendererRopNode, CATEGORY_ROP.CSS); // not registering, since sop/css3d_object is not yet working
poly.registerNode(WebGlRendererRopNode, CATEGORY_ROP.WEBGL);
// networks
poly.registerNode(AnimationsRopNode, CATEGORY_ROP.NETWORK);
poly.registerNode(CopRopNode, CATEGORY_ROP.NETWORK);
poly.registerNode(EventsRopNode, CATEGORY_ROP.NETWORK);
poly.registerNode(MaterialsRopNode, CATEGORY_ROP.NETWORK);
poly.registerNode(PostProcessRopNode, CATEGORY_ROP.NETWORK);
poly.registerNode(RenderersRopNode, CATEGORY_ROP.NETWORK);
}
}