diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-03-07 05:33:24 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-03-07 05:33:24 +0300 |
commit | dabf5931636cf6797718da8329e4b537d294cb21 (patch) | |
tree | 147b00dd00becbcdcd573cf682dcf945f6c9f689 /source/blender/draw | |
parent | fbfdfcb947b34e41a859acc1a254f54feff0cc51 (diff) |
Fix T59877: EEVEE: Object Info node random value does not work with Duplis
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/intern/draw_manager_data.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c index 53fbb8bb9cc..6f9e2cff36c 100644 --- a/source/blender/draw/intern/draw_manager_data.c +++ b/source/blender/draw/intern/draw_manager_data.c @@ -22,6 +22,7 @@ #include "draw_manager.h" +#include "BKE_anim.h" #include "BKE_curve.h" #include "BKE_global.h" #include "BKE_mesh.h" @@ -326,13 +327,10 @@ static void drw_call_state_update_matflag(DRWCallState *state, DRWShadingGroup * if ((new_flags & DRW_CALL_OBJECTINFO) != 0) { state->objectinfo[0] = ob ? ob->index : 0; uint random; -#if 0 /* TODO(fclem) handle dupli objects */ - if (GMS.dob) { - random = GMS.dob->random_id; + if (DST.dupli_source) { + random = DST.dupli_source->random_id; } - else -#endif - { + else { random = BLI_hash_int_2d(BLI_hash_string(ob->id.name + 2), 0); } state->objectinfo[1] = random * (1.0f / (float)0xFFFFFFFF); |