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:
authorAlexander Gavrilov <angavrilov@gmail.com>2020-10-26 20:32:48 +0300
committerBrecht Van Lommel <brecht@blender.org>2020-10-28 14:43:42 +0300
commit70040e7b0b683f2ff6ac30b20a8e426bab294e67 (patch)
treed6fd9c3c061db0d52c1f26d2fa0ad82ce7a1b241 /intern/cycles/kernel/shaders
parentb7558e3c9c1478cb0d3a4881c73984d46a0c9603 (diff)
Cycles: internal support for alpha output for attribute node
Not exposed in Blender yet. Ref D2057
Diffstat (limited to 'intern/cycles/kernel/shaders')
-rw-r--r--intern/cycles/kernel/shaders/node_attribute.osl10
1 files changed, 8 insertions, 2 deletions
diff --git a/intern/cycles/kernel/shaders/node_attribute.osl b/intern/cycles/kernel/shaders/node_attribute.osl
index abec8ebfbf0..205d0a21bed 100644
--- a/intern/cycles/kernel/shaders/node_attribute.osl
+++ b/intern/cycles/kernel/shaders/node_attribute.osl
@@ -20,20 +20,26 @@ shader node_attribute(string bump_offset = "center",
string name = "",
output point Vector = point(0.0, 0.0, 0.0),
output color Color = 0.0,
- output float Fac = 0.0)
+ output float Fac = 0.0,
+ output float Alpha = 0.0)
{
- getattribute(name, Color);
+ float data[4];
+ getattribute(name, data);
+ Color = color(data[0], data[1], data[2]);
Vector = point(Color);
getattribute(name, Fac);
+ Alpha = data[3];
if (bump_offset == "dx") {
Color += Dx(Color);
Vector += Dx(Vector);
Fac += Dx(Fac);
+ Alpha += Dx(Alpha);
}
else if (bump_offset == "dy") {
Color += Dy(Color);
Vector += Dy(Vector);
Fac += Dy(Fac);
+ Alpha += Dy(Alpha);
}
}