|
@@ -0,0 +1,32 @@
|
|
|
+import {
|
|
|
+ ShaderMaterial,
|
|
|
+ WebGLRenderer
|
|
|
+} from '../../../../src/Three';
|
|
|
+
|
|
|
+import { NodeBuilder } from '../core/NodeBuilder';
|
|
|
+import { NodeFrame } from '../core/NodeFrame';
|
|
|
+import { StandardNode } from './nodes/StandardNode';
|
|
|
+import { PropertyNode } from '../inputs/PropertyNode';
|
|
|
+import { MeshStandardNode } from './nodes/MeshStandardNode';
|
|
|
+import { RawNode } from './nodes/RawNode';
|
|
|
+
|
|
|
+export interface NodeMaterialBuildParams {
|
|
|
+ builder?: NodeBuilder;
|
|
|
+ renderer?: WebGLRenderer;
|
|
|
+}
|
|
|
+
|
|
|
+export class NodeMaterial extends ShaderMaterial {
|
|
|
+ constructor(vertex: MeshStandardNode, fragment: MeshStandardNode);
|
|
|
+
|
|
|
+ vertex: MeshStandardNode | RawNode;
|
|
|
+ fragment: MeshStandardNode | RawNode;
|
|
|
+
|
|
|
+ updaters: object[];
|
|
|
+
|
|
|
+ isNodeMaterial: boolean;
|
|
|
+ properties: object;
|
|
|
+
|
|
|
+ updateFrame(frame: NodeFrame): void;
|
|
|
+ build(params?: NodeMaterialBuildParams): this;
|
|
|
+ copy(source: NodeMaterial): this;
|
|
|
+}
|