diff options
author | Ethan-Hall <Ethan1080> | 2022-03-07 19:34:52 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2022-03-07 19:35:48 +0300 |
commit | 5b4ab896634fd118cb46740f6f90e45f96d550ac (patch) | |
tree | fbe8bae09fd3c9bcc75176621c2b434dd5690282 /intern/cycles/kernel/svm | |
parent | 76f9d83a19b9804f3f8997c35f4f77ace2d6fcbc (diff) |
Shader Nodes: add Alpha output to Object Info node
An alpha component can be specified for an object's color. This adds an alpha
socket to the object info shader node allowing for the alpha component of the
object's color to be accessed in the shader editor.
Differential Revision: https://developer.blender.org/D14141
Diffstat (limited to 'intern/cycles/kernel/svm')
-rw-r--r-- | intern/cycles/kernel/svm/geometry.h | 3 | ||||
-rw-r--r-- | intern/cycles/kernel/svm/types.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/intern/cycles/kernel/svm/geometry.h b/intern/cycles/kernel/svm/geometry.h index c1a5fdb8ca4..4b5368dd765 100644 --- a/intern/cycles/kernel/svm/geometry.h +++ b/intern/cycles/kernel/svm/geometry.h @@ -116,6 +116,9 @@ ccl_device_noinline void svm_node_object_info(KernelGlobals kg, stack_store_float3(stack, out_offset, object_color(kg, sd->object)); return; } + case NODE_INFO_OB_ALPHA: + data = object_alpha(kg, sd->object); + break; case NODE_INFO_OB_INDEX: data = object_pass_id(kg, sd->object); break; diff --git a/intern/cycles/kernel/svm/types.h b/intern/cycles/kernel/svm/types.h index 777a27b8716..bede58f7a54 100644 --- a/intern/cycles/kernel/svm/types.h +++ b/intern/cycles/kernel/svm/types.h @@ -142,6 +142,7 @@ typedef enum NodeGeometry { typedef enum NodeObjectInfo { NODE_INFO_OB_LOCATION, NODE_INFO_OB_COLOR, + NODE_INFO_OB_ALPHA, NODE_INFO_OB_INDEX, NODE_INFO_MAT_INDEX, NODE_INFO_OB_RANDOM |