浏览代码

TextureNode: forceUVContext (#27031)

sunag 1 年之前
父节点
当前提交
0a612e3655
共有 2 个文件被更改,包括 2 次插入2 次删除
  1. 1 1
      examples/jsm/nodes/accessors/TextureNode.js
  2. 1 1
      examples/jsm/nodes/display/BumpMapNode.js

+ 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 ),