@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
148 lines (143 loc) • 7.61 kB
text/typescript
import {CATEGORY_MAT} from './Category';
import {BuilderUniformUpdateMatNode} from '../../../nodes/mat/BuilderUniformUpdate';
import {ClippingPlaneMatNode} from '../../../nodes/mat/ClippingPlane';
import {ClipPropertiesMatNode} from '../../../nodes/mat/ClipProperties';
import {CodeMatNode} from '../../../nodes/mat/Code';
import {ColorMatNode} from '../../../nodes/mat/Color';
import {EnvMapMatNode} from '../../../nodes/mat/EnvMap';
import {LineBasicMatNode} from '../../../nodes/mat/LineBasic';
import {LineBasicBuilderMatNode} from '../../../nodes/mat/LineBasicBuilder';
import {MeshBasicMatNode} from '../../../nodes/mat/MeshBasic';
import {MeshBasicBuilderMatNode} from '../../../nodes/mat/MeshBasicBuilder';
import {MeshDepthMatNode} from '../../../nodes/mat/MeshDepth';
import {MeshDepthBuilderMatNode} from '../../../nodes/mat/MeshDepthBuilder';
import {MeshDistanceMatNode} from '../../../nodes/mat/MeshDistance';
import {MeshDistanceBuilderMatNode} from '../../../nodes/mat/MeshDistanceBuilder';
import {MeshLambertMatNode} from '../../../nodes/mat/MeshLambert';
import {MeshLambertBuilderMatNode} from '../../../nodes/mat/MeshLambertBuilder';
import {MeshMatcapMatNode} from '../../../nodes/mat/MeshMatcap';
import {MeshNormalMatNode} from '../../../nodes/mat/MeshNormal';
import {MeshPhongMatNode} from '../../../nodes/mat/MeshPhong';
import {MeshPhongBuilderMatNode} from '../../../nodes/mat/MeshPhongBuilder';
import {MeshPhysicalMatNode} from '../../../nodes/mat/MeshPhysical';
import {MeshPhysicalBuilderMatNode} from '../../../nodes/mat/MeshPhysicalBuilder';
import {MeshStandardMatNode} from '../../../nodes/mat/MeshStandard';
import {MeshStandardBuilderMatNode} from '../../../nodes/mat/MeshStandardBuilder';
import {MeshToonMatNode} from '../../../nodes/mat/MeshToon';
import {MeshToonBuilderMatNode} from '../../../nodes/mat/MeshToonBuilder';
import {PointsMatNode} from '../../../nodes/mat/Points';
import {PointsBuilderMatNode} from '../../../nodes/mat/PointsBuilder';
// import {RayMarchingMatNode} from '../../../nodes/mat/RayMarching';
import {RayMarchingBuilderMatNode} from '../../../nodes/mat/RayMarchingBuilder';
import {ShadowMatNode} from '../../../nodes/mat/Shadow';
import {SkyMatNode} from '../../../nodes/mat/Sky';
import {StencilPropertiesMatNode} from '../../../nodes/mat/StencilProperties';
import {VolumeMatNode} from '../../../nodes/mat/Volume';
import {VolumeBuilderMatNode} from '../../../nodes/mat/VolumeBuilder';
// networks
import {ActorsNetworkMatNode} from '../../../nodes/mat/ActorsNetwork';
import {AnimationsNetworkMatNode} from '../../../nodes/mat/AnimationsNetwork';
import {AudioNetworkMatNode} from '../../../nodes/mat/AudioNetwork';
import {CopNetworkMatNode} from '../../../nodes/mat/CopNetwork';
import {EventsNetworkMatNode} from '../../../nodes/mat/EventsNetwork';
import {MaterialsNetworkMatNode} from '../../../nodes/mat/MaterialsNetwork';
import {PostProcessNetworkMatNode} from '../../../nodes/mat/PostProcessNetwork';
import {RenderersNetworkMatNode} from '../../../nodes/mat/RenderersNetwork';
export interface MatNodeChildrenMap {
builderUniformUpdate: BuilderUniformUpdateMatNode;
clippingPlane: ClippingPlaneMatNode;
clipProperties: ClipPropertiesMatNode;
code: CodeMatNode;
color: ColorMatNode;
envMap: EnvMapMatNode;
lineBasic: LineBasicMatNode;
lineBasicBuilder: LineBasicBuilderMatNode;
meshBasic: MeshBasicMatNode;
meshBasicBuilder: MeshBasicBuilderMatNode;
meshDepth: MeshDepthMatNode;
meshDepthBuilder: MeshDepthBuilderMatNode;
MeshDistance: MeshDistanceMatNode;
meshDistanceBuilder: MeshDistanceBuilderMatNode;
meshLambert: MeshLambertMatNode;
meshLambertBuilder: MeshLambertBuilderMatNode;
meshMatcap: MeshMatcapMatNode;
meshNormal: MeshNormalMatNode;
meshPhong: MeshPhongMatNode;
meshPhongBuilder: MeshPhongBuilderMatNode;
meshPhysical: MeshPhysicalMatNode;
meshPhysicalBuilder: MeshPhysicalBuilderMatNode;
meshStandard: MeshStandardMatNode;
meshStandardBuilder: MeshStandardBuilderMatNode;
meshToon: MeshToonMatNode;
meshToonBuilder: MeshToonBuilderMatNode;
points: PointsMatNode;
pointsBuilder: PointsBuilderMatNode;
// rayMarching: RayMarchingMatNode;
rayMarchingBuilder: RayMarchingBuilderMatNode;
shadow: ShadowMatNode;
sky: SkyMatNode;
stencilProperties: StencilPropertiesMatNode;
volume: VolumeMatNode;
volumeBuilder: VolumeBuilderMatNode;
// networks
actorsNetwork: ActorsNetworkMatNode;
animationsNetwork: AnimationsNetworkMatNode;
audioNetwork: AudioNetworkMatNode;
copNetwork: CopNetworkMatNode;
eventsNetwork: EventsNetworkMatNode;
materialsNetwork: MaterialsNetworkMatNode;
postProcessNetwork: PostProcessNetworkMatNode;
renderersNetwork: RenderersNetworkMatNode;
}
import {PolyEngine} from '../../../Poly';
export class MatRegister {
static run(poly: PolyEngine) {
poly.registerNode(BuilderUniformUpdateMatNode, CATEGORY_MAT.ADVANCED);
poly.registerNode(ClippingPlaneMatNode, CATEGORY_MAT.ADVANCED);
poly.registerNode(ClipPropertiesMatNode, CATEGORY_MAT.ADVANCED);
poly.registerNode(CodeMatNode, CATEGORY_MAT.ADVANCED);
if (process.env.NODE_ENV == 'development') {
poly.registerNode(ColorMatNode, CATEGORY_MAT.UPDATE);
poly.registerNode(EnvMapMatNode, CATEGORY_MAT.UPDATE);
}
poly.registerNode(LineBasicMatNode, CATEGORY_MAT.LINE);
poly.registerNode(LineBasicBuilderMatNode, CATEGORY_MAT.LINE);
poly.registerNode(MeshBasicMatNode, CATEGORY_MAT.MESH);
poly.registerNode(MeshBasicBuilderMatNode, CATEGORY_MAT.ADVANCED);
poly.registerNode(MeshDepthMatNode, CATEGORY_MAT.MESH);
poly.registerNode(MeshDepthBuilderMatNode, CATEGORY_MAT.ADVANCED);
if (process.env.NODE_ENV == 'development') {
poly.registerNode(MeshDistanceMatNode, CATEGORY_MAT.MESH);
poly.registerNode(MeshDistanceBuilderMatNode, CATEGORY_MAT.ADVANCED);
}
poly.registerNode(MeshLambertMatNode, CATEGORY_MAT.MESH);
poly.registerNode(MeshLambertBuilderMatNode, CATEGORY_MAT.ADVANCED);
poly.registerNode(MeshMatcapMatNode, CATEGORY_MAT.MESH);
poly.registerNode(MeshNormalMatNode, CATEGORY_MAT.MESH);
poly.registerNode(MeshPhongMatNode, CATEGORY_MAT.MESH);
poly.registerNode(MeshPhongBuilderMatNode, CATEGORY_MAT.ADVANCED);
poly.registerNode(MeshPhysicalMatNode, CATEGORY_MAT.MESH);
poly.registerNode(MeshPhysicalBuilderMatNode, CATEGORY_MAT.ADVANCED);
poly.registerNode(MeshStandardMatNode, CATEGORY_MAT.MESH);
poly.registerNode(MeshStandardBuilderMatNode, CATEGORY_MAT.ADVANCED);
poly.registerNode(MeshToonMatNode, CATEGORY_MAT.MESH);
poly.registerNode(MeshToonBuilderMatNode, CATEGORY_MAT.ADVANCED);
poly.registerNode(PointsMatNode, CATEGORY_MAT.POINTS);
poly.registerNode(PointsBuilderMatNode, CATEGORY_MAT.ADVANCED);
poly.registerNode(RayMarchingBuilderMatNode, CATEGORY_MAT.ADVANCED);
poly.registerNode(ShadowMatNode, CATEGORY_MAT.ADVANCED);
poly.registerNode(SkyMatNode, CATEGORY_MAT.MESH);
poly.registerNode(StencilPropertiesMatNode, CATEGORY_MAT.ADVANCED);
poly.registerNode(VolumeMatNode, CATEGORY_MAT.VOLUME);
poly.registerNode(VolumeBuilderMatNode, CATEGORY_MAT.VOLUME);
// networks
poly.registerNode(ActorsNetworkMatNode, CATEGORY_MAT.NETWORK);
poly.registerNode(AnimationsNetworkMatNode, CATEGORY_MAT.NETWORK);
poly.registerNode(AudioNetworkMatNode, CATEGORY_MAT.NETWORK);
poly.registerNode(CopNetworkMatNode, CATEGORY_MAT.NETWORK);
poly.registerNode(EventsNetworkMatNode, CATEGORY_MAT.NETWORK);
poly.registerNode(MaterialsNetworkMatNode, CATEGORY_MAT.NETWORK);
poly.registerNode(PostProcessNetworkMatNode, CATEGORY_MAT.NETWORK);
poly.registerNode(RenderersNetworkMatNode, CATEGORY_MAT.NETWORK);
}
}