Selaa lähdekoodia

Merge pull request #50383 from Calinou/standardmaterial3d-improve-simple-parallax

Improve the appearance of simple parallax in StandardMaterial3D
Juan Linietsky 4 vuotta sitten
vanhempi
commit
5e585eafe6
1 muutettua tiedostoa jossa 3 lisäystä ja 1 poistoa
  1. 3 1
      scene/resources/material.cpp

+ 3 - 1
scene/resources/material.cpp

@@ -963,7 +963,9 @@ void BaseMaterial3D::_update_shader() {
 			} else {
 				code += "		float depth = 1.0 - texture(texture_heightmap, base_uv).r;\n";
 			}
-			code += "		vec2 ofs = base_uv - view_dir.xy / view_dir.z * (depth * heightmap_scale);\n";
+			// Use offset limiting to improve the appearance of non-deep parallax.
+			// This reduces the impression of depth, but avoids visible warping in the distance.
+			code += "		vec2 ofs = base_uv - view_dir.xy * depth * heightmap_scale;\n";
 		}
 
 		code += "		base_uv=ofs;\n";