diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-10-09 18:32:13 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-10-09 18:34:04 +0300 |
commit | e234ce9b2272323ef2666d3f0718ecb8c688b693 (patch) | |
tree | 44b5d18a5fb306b747791671239d9c48ac434d4c /source/blender/draw/engines/eevee/eevee_materials.c | |
parent | 6d6e3869ce52085bbd4351de96cbc0e6b51b974b (diff) |
Eevee: Add support/Fix Object Info node
Caveat: Random output does not yet work with instance (dupli) objects.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_materials.c')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_materials.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c index 2b57c93202b..38c2fb50f81 100644 --- a/source/blender/draw/engines/eevee/eevee_materials.c +++ b/source/blender/draw/engines/eevee/eevee_materials.c @@ -1080,23 +1080,23 @@ void EEVEE_materials_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata) } } -#define ADD_SHGROUP_CALL(shgrp, ob, geom, oedata) do { \ +#define ADD_SHGROUP_CALL(shgrp, ob, ma, geom, oedata) do { \ if (is_sculpt_mode_draw) { \ DRW_shgroup_call_sculpt_add(shgrp, ob, ob->obmat); \ } \ else { \ if (oedata) { \ - DRW_shgroup_call_object_add_with_callback(shgrp, geom, ob, EEVEE_lightprobes_obj_visibility_cb, oedata); \ + DRW_shgroup_call_object_add_with_callback(shgrp, geom, ob, ma, EEVEE_lightprobes_obj_visibility_cb, oedata); \ } \ else { \ - DRW_shgroup_call_object_add(shgrp, geom, ob); \ + DRW_shgroup_call_object_add_ex(shgrp, geom, ob, ma, false); \ } \ } \ } while (0) -#define ADD_SHGROUP_CALL_SAFE(shgrp, ob, geom, oedata) do { \ +#define ADD_SHGROUP_CALL_SAFE(shgrp, ob, ma, geom, oedata) do { \ if (shgrp) { \ - ADD_SHGROUP_CALL(shgrp, ob, geom, oedata); \ + ADD_SHGROUP_CALL(shgrp, ob, ma, geom, oedata); \ } \ } while (0) @@ -1536,11 +1536,11 @@ void EEVEE_materials_cache_populate(EEVEE_Data *vedata, EEVEE_ViewLayerData *sld } /* Shading pass */ - ADD_SHGROUP_CALL(shgrp_array[i], ob, mat_geom[i], oedata); + ADD_SHGROUP_CALL(shgrp_array[i], ob, ma, mat_geom[i], oedata); /* Depth Prepass */ - ADD_SHGROUP_CALL_SAFE(shgrp_depth_array[i], ob, mat_geom[i], oedata); - ADD_SHGROUP_CALL_SAFE(shgrp_depth_clip_array[i], ob, mat_geom[i], oedata); + ADD_SHGROUP_CALL_SAFE(shgrp_depth_array[i], ob, ma, mat_geom[i], oedata); + ADD_SHGROUP_CALL_SAFE(shgrp_depth_clip_array[i], ob, ma, mat_geom[i], oedata); char *name = auto_layer_names; for (int j = 0; j < auto_layer_count; ++j) { |