Blender Git Loki
Git Commits -> Revision b364be8
Revision b364be8 by Alexander Gavrilov (temp-angavrilov-material-uniforms) October 12, 2020, 10:19 (GMT) |
Materials: add custom object properties as uniform attributes. This patch allows the user to type a property name into the Attribute node, which will then output the value of the property for each individual object, allowing to e.g. customize shaders by object without duplicating the shader. In order to make supporting this easier for Eevee, it is necessary to explicitly choose whether the attribute is varying or uniform via a dropdown option of the Attribute node. The Cycles design seems to intend to treat all attributes equally, so the Blender interface uses a name prefix that can't be entered with keyboard. Differential Revision: https://developer.blender.org/D2057 |
Commit Details:
Full Hash: b364be84a02d8a50175c31836783bc4e7791981d
Parent Commit: f5ef2e2
Lines Changed: +437, -74
13 Modified Paths:
/intern/cycles/blender/blender_object.cpp (+128, -0) (Diff)
/intern/cycles/blender/blender_shader.cpp (+49, -1) (Diff)
/intern/cycles/blender/blender_sync.h (+2, -0) (Diff)
/intern/cycles/blender/blender_util.h (+3, -0) (Diff)
/intern/cycles/kernel/geom/geom_attribute.h (+10, -2) (Diff)
/intern/cycles/render/attribute.h (+1, -0) (Diff)
/intern/cycles/render/geometry.cpp (+184, -68) (Diff)
/intern/cycles/render/geometry.h (+7, -1) (Diff)
/intern/cycles/render/object.cpp (+10, -2) (Diff)
/intern/cycles/render/object.h (+5, -0) (Diff)
/source/blender/editors/space_node/drawnode.c (+1, -0) (Diff)
/source/blender/makesdna/DNA_node_types.h (+9, -0) (Diff)
/source/blender/makesrna/intern/rna_nodetree.c (+28, -0) (Diff)
/intern/cycles/blender/blender_shader.cpp (+49, -1) (Diff)
/intern/cycles/blender/blender_sync.h (+2, -0) (Diff)
/intern/cycles/blender/blender_util.h (+3, -0) (Diff)
/intern/cycles/kernel/geom/geom_attribute.h (+10, -2) (Diff)
/intern/cycles/render/attribute.h (+1, -0) (Diff)
/intern/cycles/render/geometry.cpp (+184, -68) (Diff)
/intern/cycles/render/geometry.h (+7, -1) (Diff)
/intern/cycles/render/object.cpp (+10, -2) (Diff)
/intern/cycles/render/object.h (+5, -0) (Diff)
/source/blender/editors/space_node/drawnode.c (+1, -0) (Diff)
/source/blender/makesdna/DNA_node_types.h (+9, -0) (Diff)
/source/blender/makesrna/intern/rna_nodetree.c (+28, -0) (Diff)