Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2021-03-15 22:42:06 +0300
committerBrecht Van Lommel <brecht@blender.org>2021-03-15 22:47:07 +0300
commitbe51d671b500e8b6881295778de7272a70504b71 (patch)
tree9c216b23ae5d1d7cedd4a2aefe4560df161337ee
parent8f93386e6296dc7a190b61cb473b1eaec76b9111 (diff)
Fix T86121: Cycles Attribute returning wrong results with OSL
Fix uninitialized variable in the OSL shader.
-rw-r--r--intern/cycles/kernel/shaders/node_attribute.osl2
-rw-r--r--intern/cycles/kernel/shaders/node_light_path.osl10
-rw-r--r--intern/cycles/kernel/shaders/node_normal_map.osl2
-rw-r--r--intern/cycles/kernel/shaders/node_tangent.osl2
4 files changed, 8 insertions, 8 deletions
diff --git a/intern/cycles/kernel/shaders/node_attribute.osl b/intern/cycles/kernel/shaders/node_attribute.osl
index 205d0a21bed..b7f35956ec7 100644
--- a/intern/cycles/kernel/shaders/node_attribute.osl
+++ b/intern/cycles/kernel/shaders/node_attribute.osl
@@ -23,7 +23,7 @@ shader node_attribute(string bump_offset = "center",
output float Fac = 0.0,
output float Alpha = 0.0)
{
- float data[4];
+ float data[4] = {0.0, 0.0, 0.0, 0.0};
getattribute(name, data);
Color = color(data[0], data[1], data[2]);
Vector = point(Color);
diff --git a/intern/cycles/kernel/shaders/node_light_path.osl b/intern/cycles/kernel/shaders/node_light_path.osl
index 4ff06915771..ba268db288c 100644
--- a/intern/cycles/kernel/shaders/node_light_path.osl
+++ b/intern/cycles/kernel/shaders/node_light_path.osl
@@ -42,23 +42,23 @@ shader node_light_path(output float IsCameraRay = 0.0,
getattribute("path:ray_length", RayLength);
- int ray_depth;
+ int ray_depth = 0;
getattribute("path:ray_depth", ray_depth);
RayDepth = (float)ray_depth;
- int diffuse_depth;
+ int diffuse_depth = 0;
getattribute("path:diffuse_depth", diffuse_depth);
DiffuseDepth = (float)diffuse_depth;
- int glossy_depth;
+ int glossy_depth = 0;
getattribute("path:glossy_depth", glossy_depth);
GlossyDepth = (float)glossy_depth;
- int transparent_depth;
+ int transparent_depth = 0;
getattribute("path:transparent_depth", transparent_depth);
TransparentDepth = (float)transparent_depth;
- int transmission_depth;
+ int transmission_depth = 0;
getattribute("path:transmission_depth", transmission_depth);
TransmissionDepth = (float)transmission_depth;
}
diff --git a/intern/cycles/kernel/shaders/node_normal_map.osl b/intern/cycles/kernel/shaders/node_normal_map.osl
index 912960f13ab..6d4780f6dae 100644
--- a/intern/cycles/kernel/shaders/node_normal_map.osl
+++ b/intern/cycles/kernel/shaders/node_normal_map.osl
@@ -31,7 +31,7 @@ shader node_normal_map(normal NormalIn = N,
vector tangent;
vector ninterp;
float tangent_sign;
- float is_smooth;
+ float is_smooth = 0.0;
getattribute("geom:is_smooth", is_smooth);
if (!is_smooth) {
diff --git a/intern/cycles/kernel/shaders/node_tangent.osl b/intern/cycles/kernel/shaders/node_tangent.osl
index 83f19a4610b..f086fa079ec 100644
--- a/intern/cycles/kernel/shaders/node_tangent.osl
+++ b/intern/cycles/kernel/shaders/node_tangent.osl
@@ -22,7 +22,7 @@ shader node_tangent(normal NormalIn = N,
string axis = "z",
output normal Tangent = normalize(dPdu))
{
- vector T;
+ vector T = vector(0.0, 0.0, 0.0);
if (direction_type == "uv_map") {
getattribute(attr_name, T);