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:
authorClément Foucault <foucault.clem@gmail.com>2019-05-30 00:52:37 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-05-30 14:43:33 +0300
commit596492e639f07b6a0a3f705a0f944dc57f94b7e4 (patch)
tree55f3dfa9ee3ad03c90954bec26f7c85157dc2d1b /source/blender/draw/engines
parent32a2bfddcb4b0dedbea987ae3e335dc6aecdaed8 (diff)
DRW: Refactor to use object pointer for drawcall by default
This cleans up a bit of duplicated code and some confusion about what was culled and what wasn't. Now everything is culled based on the given object pointer. If the object pointer is NULL there is no culling performed.
Diffstat (limited to 'source/blender/draw/engines')
-rw-r--r--source/blender/draw/engines/basic/basic_engine.c4
-rw-r--r--source/blender/draw/engines/eevee/eevee_depth_of_field.c2
-rw-r--r--source/blender/draw/engines/eevee/eevee_effects.c2
-rw-r--r--source/blender/draw/engines/eevee/eevee_lightprobes.c6
-rw-r--r--source/blender/draw/engines/eevee/eevee_lights.c4
-rw-r--r--source/blender/draw/engines/eevee/eevee_materials.c4
-rw-r--r--source/blender/draw/engines/eevee/eevee_volumes.c12
-rw-r--r--source/blender/draw/engines/external/external_engine.c2
-rw-r--r--source/blender/draw/engines/gpencil/gpencil_draw_utils.c38
-rw-r--r--source/blender/draw/engines/gpencil/gpencil_engine.c2
-rw-r--r--source/blender/draw/engines/workbench/workbench_deferred.c12
-rw-r--r--source/blender/draw/engines/workbench/workbench_forward.c12
-rw-r--r--source/blender/draw/engines/workbench/workbench_volume.c4
13 files changed, 41 insertions, 63 deletions
diff --git a/source/blender/draw/engines/basic/basic_engine.c b/source/blender/draw/engines/basic/basic_engine.c
index a274eda84fe..beff451256d 100644
--- a/source/blender/draw/engines/basic/basic_engine.c
+++ b/source/blender/draw/engines/basic/basic_engine.c
@@ -154,7 +154,7 @@ static void basic_cache_populate(void *vedata, Object *ob)
if (is_flat_object_viewed_from_side) {
/* Avoid losing flat objects when in ortho views (see T56549) */
struct GPUBatch *geom = DRW_cache_object_all_edges_get(ob);
- DRW_shgroup_call_object(stl->g_data->depth_shgrp, geom, ob);
+ DRW_shgroup_call(stl->g_data->depth_shgrp, geom, ob);
return;
}
}
@@ -164,7 +164,7 @@ static void basic_cache_populate(void *vedata, Object *ob)
const bool do_cull = (draw_ctx->v3d &&
(draw_ctx->v3d->shading.flag & V3D_SHADING_BACKFACE_CULLING));
/* Depth Prepass */
- DRW_shgroup_call_object(
+ DRW_shgroup_call(
(do_cull) ? stl->g_data->depth_shgrp_cull : stl->g_data->depth_shgrp, geom, ob);
}
}
diff --git a/source/blender/draw/engines/eevee/eevee_depth_of_field.c b/source/blender/draw/engines/eevee/eevee_depth_of_field.c
index 4675901b952..8c3e58e76c9 100644
--- a/source/blender/draw/engines/eevee/eevee_depth_of_field.c
+++ b/source/blender/draw/engines/eevee/eevee_depth_of_field.c
@@ -217,7 +217,7 @@ void EEVEE_depth_of_field_cache_init(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_
DRW_shgroup_uniform_texture_ref(grp, "cocBuffer", &effects->dof_coc);
DRW_shgroup_uniform_vec4(grp, "bokehParams", effects->dof_bokeh, 2);
- DRW_shgroup_call_procedural_triangles(grp, sprite_len, NULL);
+ DRW_shgroup_call_procedural_triangles(grp, NULL, sprite_len);
DRW_PASS_CREATE(psl->dof_resolve, DRW_STATE_WRITE_COLOR);
diff --git a/source/blender/draw/engines/eevee/eevee_effects.c b/source/blender/draw/engines/eevee/eevee_effects.c
index 8e670da2ab7..8f2fd633890 100644
--- a/source/blender/draw/engines/eevee/eevee_effects.c
+++ b/source/blender/draw/engines/eevee/eevee_effects.c
@@ -292,7 +292,7 @@ void EEVEE_effects_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
DRW_shgroup_uniform_texture_ref(grp, "source", &e_data.color_src);
DRW_shgroup_uniform_float(grp, "texelSize", &e_data.cube_texel_size, 1);
DRW_shgroup_uniform_int_copy(grp, "Layer", 0);
- DRW_shgroup_call_instances(grp, quad, NULL, 6);
+ DRW_shgroup_call_instances(grp, NULL, quad, 6);
}
{
diff --git a/source/blender/draw/engines/eevee/eevee_lightprobes.c b/source/blender/draw/engines/eevee/eevee_lightprobes.c
index 6253a9d3808..bbad169f363 100644
--- a/source/blender/draw/engines/eevee/eevee_lightprobes.c
+++ b/source/blender/draw/engines/eevee/eevee_lightprobes.c
@@ -398,7 +398,7 @@ void EEVEE_lightprobes_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedat
DRW_shgroup_uniform_block(grp, "planar_block", sldata->planar_ubo);
DRW_shgroup_uniform_block(grp, "grid_block", sldata->grid_ubo);
- DRW_shgroup_call_procedural_triangles(grp, cube_len * 2, NULL);
+ DRW_shgroup_call_procedural_triangles(grp, NULL, cube_len * 2);
}
/* Grid Display */
@@ -424,7 +424,7 @@ void EEVEE_lightprobes_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedat
DRW_shgroup_uniform_block(shgrp, "grid_block", sldata->grid_ubo);
DRW_shgroup_uniform_block(shgrp, "common_block", sldata->common_ubo);
int tri_count = egrid->resolution[0] * egrid->resolution[1] * egrid->resolution[2] * 2;
- DRW_shgroup_call_procedural_triangles(shgrp, tri_count, NULL);
+ DRW_shgroup_call_procedural_triangles(shgrp, NULL, tri_count);
}
}
@@ -787,7 +787,7 @@ void EEVEE_lightprobes_cache_finish(EEVEE_ViewLayerData *sldata, EEVEE_Data *ved
DRW_shgroup_uniform_texture_ref(grp, "source", &txl->planar_pool);
DRW_shgroup_uniform_float(grp, "fireflyFactor", &sldata->common_data.ssr_firefly_fac, 1);
- DRW_shgroup_call_procedural_triangles(grp, pinfo->num_planar, NULL);
+ DRW_shgroup_call_procedural_triangles(grp, NULL, pinfo->num_planar);
}
}
diff --git a/source/blender/draw/engines/eevee/eevee_lights.c b/source/blender/draw/engines/eevee/eevee_lights.c
index e966fadbcdb..24d35e2bd45 100644
--- a/source/blender/draw/engines/eevee/eevee_lights.c
+++ b/source/blender/draw/engines/eevee/eevee_lights.c
@@ -453,7 +453,7 @@ void EEVEE_lights_cache_shcaster_add(EEVEE_ViewLayerData *UNUSED(sldata),
struct GPUBatch *geom,
Object *ob)
{
- DRW_shgroup_call_object(stl->g_data->shadow_shgrp, geom, ob);
+ DRW_shgroup_call(stl->g_data->shadow_shgrp, geom, ob);
}
void EEVEE_lights_cache_shcaster_material_add(EEVEE_ViewLayerData *sldata,
@@ -483,7 +483,7 @@ void EEVEE_lights_cache_shcaster_material_add(EEVEE_ViewLayerData *sldata,
DRW_shgroup_uniform_float(grp, "alphaThreshold", alpha_threshold, 1);
}
- DRW_shgroup_call_object(grp, geom, ob);
+ DRW_shgroup_call(grp, geom, ob);
}
/* Make that object update shadow casting lights inside its influence bounding box. */
diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c
index cd75cce89a9..3b78d8718ef 100644
--- a/source/blender/draw/engines/eevee/eevee_materials.c
+++ b/source/blender/draw/engines/eevee/eevee_materials.c
@@ -1126,10 +1126,10 @@ void EEVEE_materials_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
#define ADD_SHGROUP_CALL(shgrp, ob, geom, oedata) \
do { \
if (oedata) { \
- DRW_shgroup_call_object_with_callback(shgrp, geom, ob, oedata); \
+ DRW_shgroup_call_with_callback(shgrp, geom, ob, oedata); \
} \
else { \
- DRW_shgroup_call_object(shgrp, geom, ob); \
+ DRW_shgroup_call(shgrp, geom, ob); \
} \
} while (0)
diff --git a/source/blender/draw/engines/eevee/eevee_volumes.c b/source/blender/draw/engines/eevee/eevee_volumes.c
index 47a02a285f5..e3afa91a5a9 100644
--- a/source/blender/draw/engines/eevee/eevee_volumes.c
+++ b/source/blender/draw/engines/eevee/eevee_volumes.c
@@ -356,7 +356,7 @@ void EEVEE_volumes_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
DRW_shgroup_uniform_texture(grp, "sampflame", e_data.dummy_flame);
DRW_shgroup_uniform_vec2_copy(grp, "unftemperature", (float[2]){0.0f, 1.0f});
- DRW_shgroup_call_procedural_triangles(grp, common_data->vol_tex_size[2], NULL);
+ DRW_shgroup_call_procedural_triangles(grp, NULL, common_data->vol_tex_size[2]);
effects->enabled_effects |= (EFFECT_VOLUMETRIC | EFFECT_POST_BUFFER);
}
@@ -367,7 +367,7 @@ void EEVEE_volumes_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
grp = DRW_shgroup_create(e_data.volumetric_clear_sh, psl->volumetric_world_ps);
DRW_shgroup_uniform_block(grp, "common_block", sldata->common_ubo);
- DRW_shgroup_call_procedural_triangles(grp, common_data->vol_tex_size[2], NULL);
+ DRW_shgroup_call_procedural_triangles(grp, NULL, common_data->vol_tex_size[2]);
}
}
@@ -462,7 +462,7 @@ void EEVEE_volumes_cache_object_add(EEVEE_ViewLayerData *sldata,
/* TODO Reduce to number of slices intersecting. */
/* TODO Preemptive culling. */
- DRW_shgroup_call_procedural_triangles(grp, sldata->common_data.vol_tex_size[2], ob->obmat);
+ DRW_shgroup_call_procedural_triangles(grp, ob, sldata->common_data.vol_tex_size[2]);
vedata->stl->effects->enabled_effects |= (EFFECT_VOLUMETRIC | EFFECT_POST_BUFFER);
}
@@ -495,7 +495,7 @@ void EEVEE_volumes_cache_finish(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
DRW_shgroup_uniform_block(grp, "shadow_block", sldata->shadow_ubo);
DRW_shgroup_uniform_block(grp, "common_block", sldata->common_ubo);
- DRW_shgroup_call_procedural_triangles(grp, common_data->vol_tex_size[2], NULL);
+ DRW_shgroup_call_procedural_triangles(grp, NULL, common_data->vol_tex_size[2]);
DRW_PASS_CREATE(psl->volumetric_integration_ps, DRW_STATE_WRITE_COLOR);
grp = DRW_shgroup_create(e_data.volumetric_integration_sh, psl->volumetric_integration_ps);
@@ -503,7 +503,7 @@ void EEVEE_volumes_cache_finish(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
DRW_shgroup_uniform_texture_ref(grp, "volumeExtinction", &txl->volume_transmit);
DRW_shgroup_uniform_block(grp, "common_block", sldata->common_ubo);
- DRW_shgroup_call_procedural_triangles(grp, common_data->vol_tex_size[2], NULL);
+ DRW_shgroup_call_procedural_triangles(grp, NULL, common_data->vol_tex_size[2]);
DRW_PASS_CREATE(psl->volumetric_resolve_ps, DRW_STATE_WRITE_COLOR);
grp = DRW_shgroup_create(e_data.volumetric_resolve_sh, psl->volumetric_resolve_ps);
@@ -513,7 +513,7 @@ void EEVEE_volumes_cache_finish(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
DRW_shgroup_uniform_texture_ref(grp, "inSceneDepth", &e_data.depth_src);
DRW_shgroup_uniform_block(grp, "common_block", sldata->common_ubo);
- DRW_shgroup_call_procedural_triangles(grp, 1, NULL);
+ DRW_shgroup_call_procedural_triangles(grp, NULL, 1);
}
}
diff --git a/source/blender/draw/engines/external/external_engine.c b/source/blender/draw/engines/external/external_engine.c
index d8748b05f96..9512304b94b 100644
--- a/source/blender/draw/engines/external/external_engine.c
+++ b/source/blender/draw/engines/external/external_engine.c
@@ -188,7 +188,7 @@ static void external_cache_populate(void *vedata, Object *ob)
struct GPUBatch *geom = DRW_cache_object_surface_get(ob);
if (geom) {
/* Depth Prepass */
- DRW_shgroup_call(stl->g_data->depth_shgrp, geom, ob->obmat);
+ DRW_shgroup_call(stl->g_data->depth_shgrp, geom, ob);
}
}
}
diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
index 964b7974de3..cd35395064b 100644
--- a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
+++ b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
@@ -1705,6 +1705,7 @@ static void DRW_gpencil_shgroups_create(GPENCIL_e_data *e_data,
break;
}
+ float(*obmat)[4] = (!cache_ob->is_dup_ob) ? gpf->runtime.parent_obmat : cache_ob->obmat;
switch (elm->type) {
case eGpencilBatchGroupType_Stroke: {
const int len = elm->vertex_idx - start_stroke;
@@ -1723,12 +1724,7 @@ static void DRW_gpencil_shgroups_create(GPENCIL_e_data *e_data,
scale,
cache_ob->shading_type);
if ((do_onion) || (elm->onion == false)) {
- DRW_shgroup_call_range(shgrp,
- cache->b_stroke.batch,
- (!cache_ob->is_dup_ob) ? gpf->runtime.parent_obmat :
- cache_ob->obmat,
- start_stroke,
- len);
+ DRW_shgroup_call_range_obmat(shgrp, cache->b_stroke.batch, obmat, start_stroke, len);
}
stl->storage->shgroup_id++;
start_stroke = elm->vertex_idx;
@@ -1752,12 +1748,7 @@ static void DRW_gpencil_shgroups_create(GPENCIL_e_data *e_data,
cache_ob->shading_type);
if ((do_onion) || (elm->onion == false)) {
- DRW_shgroup_call_range(shgrp,
- cache->b_point.batch,
- (!cache_ob->is_dup_ob) ? gpf->runtime.parent_obmat :
- cache_ob->obmat,
- start_point,
- len);
+ DRW_shgroup_call_range_obmat(shgrp, cache->b_point.batch, obmat, start_point, len);
}
stl->storage->shgroup_id++;
start_point = elm->vertex_idx;
@@ -1778,12 +1769,7 @@ static void DRW_gpencil_shgroups_create(GPENCIL_e_data *e_data,
cache_ob->shading_type);
if ((do_onion) || (elm->onion == false)) {
- DRW_shgroup_call_range(shgrp,
- cache->b_fill.batch,
- (!cache_ob->is_dup_ob) ? gpf->runtime.parent_obmat :
- cache_ob->obmat,
- start_fill,
- len);
+ DRW_shgroup_call_range_obmat(shgrp, cache->b_fill.batch, obmat, start_fill, len);
}
stl->storage->shgroup_id++;
start_fill = elm->vertex_idx;
@@ -1793,12 +1779,8 @@ static void DRW_gpencil_shgroups_create(GPENCIL_e_data *e_data,
if (stl->g_data->shgrps_edit_point) {
const int len = elm->vertex_idx - start_edit;
/* use always the same group */
- DRW_shgroup_call_range(stl->g_data->shgrps_edit_point,
- cache->b_edit.batch,
- (!cache_ob->is_dup_ob) ? gpf->runtime.parent_obmat :
- cache_ob->obmat,
- start_edit,
- len);
+ DRW_shgroup_call_range_obmat(
+ stl->g_data->shgrps_edit_point, cache->b_edit.batch, obmat, start_edit, len);
start_edit = elm->vertex_idx;
}
@@ -1808,12 +1790,8 @@ static void DRW_gpencil_shgroups_create(GPENCIL_e_data *e_data,
if (stl->g_data->shgrps_edit_line) {
const int len = elm->vertex_idx - start_edlin;
/* use always the same group */
- DRW_shgroup_call_range(stl->g_data->shgrps_edit_line,
- cache->b_edlin.batch,
- (!cache_ob->is_dup_ob) ? gpf->runtime.parent_obmat :
- cache_ob->obmat,
- start_edlin,
- len);
+ DRW_shgroup_call_range_obmat(
+ stl->g_data->shgrps_edit_line, cache->b_edlin.batch, obmat, start_edlin, len);
start_edlin = elm->vertex_idx;
}
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c
index f597797ae38..f78f7295d24 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.c
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.c
@@ -680,7 +680,7 @@ void GPENCIL_cache_populate(void *vedata, Object *ob)
copy_v3_v3(grid_matrix[3], ob->obmat[3]);
}
- DRW_shgroup_call(stl->g_data->shgrps_grid, e_data.batch_grid, grid_matrix);
+ DRW_shgroup_call_obmat(stl->g_data->shgrps_grid, e_data.batch_grid, grid_matrix);
}
}
}
diff --git a/source/blender/draw/engines/workbench/workbench_deferred.c b/source/blender/draw/engines/workbench/workbench_deferred.c
index 3e442ce2125..516d4de897f 100644
--- a/source/blender/draw/engines/workbench/workbench_deferred.c
+++ b/source/blender/draw/engines/workbench/workbench_deferred.c
@@ -993,7 +993,7 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob)
material = get_or_create_material_data(
vedata, ob, mat, image, iuser, color_type, interp);
}
- DRW_shgroup_call_object(material->shgrp, geom_array[i], ob);
+ DRW_shgroup_call(material->shgrp, geom_array[i], ob);
}
}
}
@@ -1030,7 +1030,7 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob)
}
if (geom) {
- DRW_shgroup_call_object(material->shgrp, geom, ob);
+ DRW_shgroup_call(material->shgrp, geom, ob);
}
}
}
@@ -1077,7 +1077,7 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob)
material = get_or_create_material_data(
vedata, ob, mat, NULL, NULL, V3D_SHADING_MATERIAL_COLOR, 0);
}
- DRW_shgroup_call_object(material->shgrp, geoms[i], ob);
+ DRW_shgroup_call(material->shgrp, geoms[i], ob);
}
}
}
@@ -1120,7 +1120,7 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob)
}
DRW_shgroup_uniform_vec3(grp, "lightDirection", engine_object_data->shadow_dir, 1);
DRW_shgroup_uniform_float_copy(grp, "lightDistance", 1e5f);
- DRW_shgroup_call(grp, geom_shadow, ob->obmat);
+ DRW_shgroup_call_no_cull(grp, geom_shadow, ob);
#ifdef DEBUG_SHADOW_VOLUME
DRW_debug_bbox(&engine_object_data->shadow_bbox, (float[4]){1.0f, 0.0f, 0.0f, 1.0f});
#endif
@@ -1142,7 +1142,7 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob)
}
DRW_shgroup_uniform_vec3(grp, "lightDirection", engine_object_data->shadow_dir, 1);
DRW_shgroup_uniform_float_copy(grp, "lightDistance", extrude_distance);
- DRW_shgroup_call(grp, DRW_cache_object_surface_get(ob), ob->obmat);
+ DRW_shgroup_call_no_cull(grp, DRW_cache_object_surface_get(ob), ob);
}
if (is_manifold) {
@@ -1154,7 +1154,7 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob)
}
DRW_shgroup_uniform_vec3(grp, "lightDirection", engine_object_data->shadow_dir, 1);
DRW_shgroup_uniform_float_copy(grp, "lightDistance", extrude_distance);
- DRW_shgroup_call(grp, geom_shadow, ob->obmat);
+ DRW_shgroup_call_no_cull(grp, geom_shadow, ob);
#ifdef DEBUG_SHADOW_VOLUME
DRW_debug_bbox(&engine_object_data->shadow_bbox, (float[4]){0.0f, 1.0f, 0.0f, 1.0f});
#endif
diff --git a/source/blender/draw/engines/workbench/workbench_forward.c b/source/blender/draw/engines/workbench/workbench_forward.c
index 6b1982151cf..26c4b920382 100644
--- a/source/blender/draw/engines/workbench/workbench_forward.c
+++ b/source/blender/draw/engines/workbench/workbench_forward.c
@@ -582,8 +582,8 @@ void workbench_forward_cache_populate(WORKBENCH_Data *vedata, Object *ob)
int color_type = workbench_material_determine_color_type(wpd, image, ob, is_sculpt_mode);
material = workbench_forward_get_or_create_material_data(
vedata, ob, mat, image, iuser, color_type, interp, is_sculpt_mode);
- DRW_shgroup_call_object(material->shgrp_object_outline, geom_array[i], ob);
- DRW_shgroup_call_object(material->shgrp, geom_array[i], ob);
+ DRW_shgroup_call(material->shgrp_object_outline, geom_array[i], ob);
+ DRW_shgroup_call(material->shgrp, geom_array[i], ob);
}
}
else if (ELEM(wpd->shading.color_type,
@@ -612,9 +612,9 @@ void workbench_forward_cache_populate(WORKBENCH_Data *vedata, Object *ob)
material = workbench_forward_get_or_create_material_data(
vedata, ob, NULL, NULL, NULL, color_type, 0, is_sculpt_mode);
/* TODO(fclem) make this call optional */
- DRW_shgroup_call_object(material->shgrp_object_outline, geom, ob);
+ DRW_shgroup_call(material->shgrp_object_outline, geom, ob);
if (!is_wire) {
- DRW_shgroup_call_object(material->shgrp, geom, ob);
+ DRW_shgroup_call(material->shgrp, geom, ob);
}
}
}
@@ -652,9 +652,9 @@ void workbench_forward_cache_populate(WORKBENCH_Data *vedata, Object *ob)
material = workbench_forward_get_or_create_material_data(
vedata, ob, mat, NULL, NULL, V3D_SHADING_MATERIAL_COLOR, 0, is_sculpt_mode);
/* TODO(fclem) make this call optional */
- DRW_shgroup_call_object(material->shgrp_object_outline, mat_geom[i], ob);
+ DRW_shgroup_call(material->shgrp_object_outline, mat_geom[i], ob);
if (!is_wire) {
- DRW_shgroup_call_object(material->shgrp, mat_geom[i], ob);
+ DRW_shgroup_call(material->shgrp, mat_geom[i], ob);
}
}
}
diff --git a/source/blender/draw/engines/workbench/workbench_volume.c b/source/blender/draw/engines/workbench/workbench_volume.c
index a2fdf35109b..575da1f9683 100644
--- a/source/blender/draw/engines/workbench/workbench_volume.c
+++ b/source/blender/draw/engines/workbench/workbench_volume.c
@@ -211,10 +211,10 @@ void workbench_volume_cache_populate(WORKBENCH_Data *vedata,
DRW_shgroup_uniform_float_copy(grp, "densityScale", 10.0f * sds->display_thickness);
if (use_slice) {
- DRW_shgroup_call_object(grp, DRW_cache_quad_get(), ob);
+ DRW_shgroup_call(grp, DRW_cache_quad_get(), ob);
}
else {
- DRW_shgroup_call_object(grp, DRW_cache_cube_get(), ob);
+ DRW_shgroup_call(grp, DRW_cache_cube_get(), ob);
}
BLI_addtail(&wpd->smoke_domains, BLI_genericNodeN(smd));