[Bf-blender-cvs] [70eea8f] blender-v2.72-release: Fix T42106: Box image mapping shows black triangles if they point to a corner and blend is 0

Sergey Sharybin noreply at git.blender.org
Wed Oct 15 13:08:07 CEST 2014


Commit: 70eea8fcc8090eb5589b4d652020691bb0b3cac6
Author: Sergey Sharybin
Date:   Tue Oct 7 15:48:39 2014 +0200
Branches: blender-v2.72-release
https://developer.blender.org/rB70eea8fcc8090eb5589b4d652020691bb0b3cac6

Fix T42106: Box image mapping shows black triangles if they point to a corner and blend is 0

After discussion with cambo here we decided it's better to choose arbitrary side of the box
(in this case it's X-axis) and use image from it. That's better than doing a blackness.

P.S. This is literally a corner case anyway.

===================================================================

M	intern/cycles/kernel/shaders/node_image_texture.osl
M	intern/cycles/kernel/svm/svm_image.h

===================================================================

diff --git a/intern/cycles/kernel/shaders/node_image_texture.osl b/intern/cycles/kernel/shaders/node_image_texture.osl
index 7238a1e..18b5fb4 100644
--- a/intern/cycles/kernel/shaders/node_image_texture.osl
+++ b/intern/cycles/kernel/shaders/node_image_texture.osl
@@ -113,6 +113,10 @@ shader node_image_texture(
 				weight[2] = ((2.0 - limit) * Nob[2] + (limit - 1.0)) / (2.0 * limit - 1.0);
 			}
 		}
+		else {
+			/* Desperate mode, no valid choice anyway, fallback to one side.*/
+			weight[0] = 1.0;
+		}
 
 		Color = color(0.0, 0.0, 0.0);
 		Alpha = 0.0;
diff --git a/intern/cycles/kernel/svm/svm_image.h b/intern/cycles/kernel/svm/svm_image.h
index a7abeda..8a256c9 100644
--- a/intern/cycles/kernel/svm/svm_image.h
+++ b/intern/cycles/kernel/svm/svm_image.h
@@ -435,6 +435,10 @@ ccl_device void svm_node_tex_image_box(KernelGlobals *kg, ShaderData *sd, float
 			weight.z = ((2.0f - limit)*N.z + (limit - 1.0f))/(2.0f*limit - 1.0f);
 		}
 	}
+	else {
+		/* Desperate mode, no valid choice anyway, fallback to one side.*/
+		weight.x = 1.0f;
+	}
 
 	/* now fetch textures */
 	uint co_offset, out_offset, alpha_offset, srgb;




More information about the Bf-blender-cvs mailing list