diff --git a/examples/webgpu_materials.html b/examples/webgpu_materials.html
index fea6bad8aeb9b8..39fec77dd1ed42 100644
--- a/examples/webgpu_materials.html
+++ b/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, tex_sampler: sampler, uv:vec2 ) -> vec4 {
@@ -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() } );
diff --git a/src/nodes/Nodes.js b/src/nodes/Nodes.js
index 2584c47e505a43..6b53d480e64a2f 100644
--- a/src/nodes/Nodes.js
+++ b/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';
diff --git a/src/nodes/code/FunctionNode.js b/src/nodes/code/FunctionNode.js
index 335ad12c78cd9b..30bbc0948b0539 100644
--- a/src/nodes/code/FunctionNode.js
+++ b/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';
diff --git a/src/nodes/core/NodeBuilder.js b/src/nodes/core/NodeBuilder.js
index fe0e688551797b..697bd8158e8ef2 100644
--- a/src/nodes/core/NodeBuilder.js
+++ b/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;
diff --git a/src/nodes/core/NodeKeywords.js b/src/nodes/core/NodeKeywords.js
deleted file mode 100644
index 6b756c23dd5315..00000000000000
--- a/src/nodes/core/NodeKeywords.js
+++ /dev/null
@@ -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;