Browse Source

TextureNode: forceUVContext (#27031)

sunag 1 year ago
parent
commit
0a612e3655

+ 1 - 1
examples/jsm/nodes/accessors/TextureNode.js

@@ -84,7 +84,7 @@ class TextureNode extends UniformNode {
 
 		let uvNode = this.uvNode;
 
-		if ( uvNode === null && builder.context.getUVNode ) {
+		if ( ( uvNode === null || builder.context.forceUVContext === true ) && builder.context.getUVNode ) {
 
 			uvNode = builder.context.getUVNode( this );
 

+ 1 - 1
examples/jsm/nodes/display/BumpMapNode.js

@@ -35,7 +35,7 @@ const dHdxy_fwd = tslFn( ( { textureNode, bumpScale } ) => {
 	const uvNode = texNode.uvNode || uv();
 
 	// It's used to preserve the same TextureNode instance
-	const sampleTexture = ( uv ) => textureNode.cache().context( { getUVNode: () => uv } );
+	const sampleTexture = ( uv ) => textureNode.cache().context( { getUVNode: () => uv, forceUVContext: true } );
 
 	return vec2(
 		float( sampleTexture( uvNode.add( uvNode.dFdx() ) ) ).sub( Hll ),