sunag преди 1 година
родител
ревизия
828769f5ab
променени са 5 файла, в които са добавени 2 реда и са изтрити 105 реда
  1. 1 2
      examples/webgpu_materials.html
  2. 0 1
      src/nodes/Nodes.js
  3. 1 19
      src/nodes/code/FunctionNode.js
  4. 0 3
      src/nodes/core/NodeBuilder.js
  5. 0 80
      src/nodes/core/NodeKeywords.js

+ 1 - 2
examples/webgpu_materials.html

@@ -183,7 +183,7 @@
 				material.colorNode = someWGSLFn( { color: texture( uvTexture ) } );
 				materials.push( material );
 
-				// Custom WGSL ( get texture from keywords )
+				// Custom WGSL
 
 				const getWGSLTextureSample = wgslFn( `
 					fn getWGSLTextureSample( tex: texture_2d<f32>, tex_sampler: sampler, uv:vec2<f32> ) -> vec4<f32> {
@@ -194,7 +194,6 @@
 				` );
 
 				const textureNode = texture( uvTexture );
-				//getWGSLTextureSample.keywords = { tex: textureNode, tex_sampler: sampler( textureNode ) };
 
 				material = new THREE.MeshBasicNodeMaterial();
 				material.colorNode = getWGSLTextureSample( { tex: textureNode, tex_sampler: textureNode, uv: uv() } );

+ 0 - 1
src/nodes/Nodes.js

@@ -21,7 +21,6 @@ export { default as NodeCache } from './core/NodeCache.js';
 export { default as NodeCode } from './core/NodeCode.js';
 export { default as NodeFrame } from './core/NodeFrame.js';
 export { default as NodeFunctionInput } from './core/NodeFunctionInput.js';
-export { default as NodeKeywords } from './core/NodeKeywords.js';
 export { default as NodeUniform } from './core/NodeUniform.js';
 export { default as NodeVar } from './core/NodeVar.js';
 export { default as NodeVarying } from './core/NodeVarying.js';

+ 1 - 19
src/nodes/code/FunctionNode.js

@@ -8,8 +8,6 @@ class FunctionNode extends CodeNode {
 
 		super( code, includes, language );
 
-		this.keywords = {};
-
 	}
 
 	getNodeType( builder ) {
@@ -63,23 +61,7 @@ class FunctionNode extends CodeNode {
 
 		const propertyName = builder.getPropertyName( nodeCode );
 
-		let code = this.getNodeFunction( builder ).getCode( propertyName );
-
-		const keywords = this.keywords;
-		const keywordsProperties = Object.keys( keywords );
-
-		if ( keywordsProperties.length > 0 ) {
-
-			for ( const property of keywordsProperties ) {
-
-				const propertyRegExp = new RegExp( `\\b${property}\\b`, 'g' );
-				const nodeProperty = keywords[ property ].build( builder, 'property' );
-
-				code = code.replace( propertyRegExp, nodeProperty );
-
-			}
-
-		}
+		const code = this.getNodeFunction( builder ).getCode( propertyName );
 
 		nodeCode.code = code + '\n';
 

+ 0 - 3
src/nodes/core/NodeBuilder.js

@@ -3,7 +3,6 @@ import NodeAttribute from './NodeAttribute.js';
 import NodeVarying from './NodeVarying.js';
 import NodeVar from './NodeVar.js';
 import NodeCode from './NodeCode.js';
-import NodeKeywords from './NodeKeywords.js';
 import NodeCache from './NodeCache.js';
 import ParameterNode from './ParameterNode.js';
 import FunctionNode from '../code/FunctionNode.js';
@@ -113,7 +112,6 @@ class NodeBuilder {
 		this.currentFunctionNode = null;
 
 		this.context = {
-			keywords: new NodeKeywords(),
 			material: this.material
 		};
 
@@ -402,7 +400,6 @@ class NodeBuilder {
 
 		const context = { ...this.context };
 
-		delete context.keywords;
 		delete context.material;
 
 		return this.context;

+ 0 - 80
src/nodes/core/NodeKeywords.js

@@ -1,80 +0,0 @@
-class NodeKeywords {
-
-	constructor() {
-
-		this.keywords = [];
-		this.nodes = {};
-		this.keywordsCallback = {};
-
-	}
-
-	getNode( name ) {
-
-		let node = this.nodes[ name ];
-
-		if ( node === undefined && this.keywordsCallback[ name ] !== undefined ) {
-
-			node = this.keywordsCallback[ name ]( name );
-
-			this.nodes[ name ] = node;
-
-		}
-
-		return node;
-
-	}
-
-	addKeyword( name, callback ) {
-
-		this.keywords.push( name );
-		this.keywordsCallback[ name ] = callback;
-
-		return this;
-
-	}
-
-	parse( code ) {
-
-		const keywordNames = this.keywords;
-
-		const regExp = new RegExp( `\\b${keywordNames.join( '\\b|\\b' )}\\b`, 'g' );
-
-		const codeKeywords = code.match( regExp );
-
-		const keywordNodes = [];
-
-		if ( codeKeywords !== null ) {
-
-			for ( const keyword of codeKeywords ) {
-
-				const node = this.getNode( keyword );
-
-				if ( node !== undefined && keywordNodes.indexOf( node ) === - 1 ) {
-
-					keywordNodes.push( node );
-
-				}
-
-			}
-
-		}
-
-		return keywordNodes;
-
-	}
-
-	include( builder, code ) {
-
-		const keywordNodes = this.parse( code );
-
-		for ( const keywordNode of keywordNodes ) {
-
-			keywordNode.build( builder );
-
-		}
-
-	}
-
-}
-
-export default NodeKeywords;

粤ICP备19079148号