Kaynağa Gözat

GLSLNodeBuilder: Fix `texture()` code generation for depth texture (#31770)

* Fix texture() code generation

* Simplify conditionals
Shota Matsuda 4 ay önce
ebeveyn
işleme
4d69cdce0a

+ 6 - 18
src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js

@@ -457,31 +457,19 @@ ${ flowData.code }
 	 */
 	generateTexture( texture, textureProperty, uvSnippet, depthSnippet, offsetSnippet ) {
 
-		if ( texture.isDepthTexture ) {
-
-			if ( depthSnippet ) uvSnippet = `vec4( ${ uvSnippet }, ${ depthSnippet } )`;
-
-			if ( offsetSnippet ) {
+		if ( depthSnippet ) uvSnippet = `vec3( ${ uvSnippet }, ${ depthSnippet } )`;
 
-				return `textureOffset( ${ textureProperty }, ${ uvSnippet }, ${ offsetSnippet } ).x`;
+		if ( texture.isDepthTexture ) {
 
-			}
+			if ( offsetSnippet ) return `textureOffset( ${ textureProperty }, ${ uvSnippet }, ${ offsetSnippet } ).x`;
 
 			return `texture( ${ textureProperty }, ${ uvSnippet } ).x`;
 
-		} else {
-
-			if ( depthSnippet ) uvSnippet = `vec3( ${ uvSnippet }, ${ depthSnippet } )`;
-
-			if ( offsetSnippet ) {
-
-				return `textureOffset( ${ textureProperty }, ${ uvSnippet }, ${ offsetSnippet } )`;
-
-			}
+		}
 
-			return `texture( ${ textureProperty }, ${ uvSnippet } )`;
+		if ( offsetSnippet ) return `textureOffset( ${ textureProperty }, ${ uvSnippet }, ${ offsetSnippet } )`;
 
-		}
+		return `texture( ${ textureProperty }, ${ uvSnippet } )`;
 
 	}
 

粤ICP备19079148号