Browse Source

Fix crash adding shaders sampling textures when a decal is selected.

clementlandrin 2 months ago
parent
commit
7f062533b5
1 changed files with 5 additions and 0 deletions
  1. 5 0
      hrt/prefab/l3d/Decal.hx

+ 5 - 0
hrt/prefab/l3d/Decal.hx

@@ -211,6 +211,11 @@ class Decal extends Object3D {
 				wireCenter.ignoreCollide = true;
 				wireCenter.ignoreCollide = true;
 				wireCenter.material.shadows = false;
 				wireCenter.material.shadows = false;
 				wireCenter.material.mainPass.depthTest = Always;
 				wireCenter.material.mainPass.depthTest = Always;
+
+				// prevent missing calculatedUV if shaders are added when decal is selected.
+				var uvShader = new h3d.shader.Texture(h3d.mat.Texture.fromColor(0xFFFFFFFF));
+				wire.material.mainPass.addShader(uvShader);
+				wireCenter.material.mainPass.addShader(uvShader);
 			}
 			}
 		} else {
 		} else {
 			clearSelection();
 			clearSelection();