[Bf-blender-cvs] [8b79a150f8e] blender2.8: Workbench: Fix buggy shadow
Clément Foucault
noreply at git.blender.org
Fri Aug 17 13:04:32 CEST 2018
Commit: 8b79a150f8e170b3c015693751d657bc4000998e
Author: Clément Foucault
Date: Fri Aug 17 13:04:18 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB8b79a150f8e170b3c015693751d657bc4000998e
Workbench: Fix buggy shadow
Was caused by shadow bbox not being updated.
===================================================================
M source/blender/draw/engines/workbench/solid_mode.c
===================================================================
diff --git a/source/blender/draw/engines/workbench/solid_mode.c b/source/blender/draw/engines/workbench/solid_mode.c
index 5c64cebd981..e4bf47810b0 100644
--- a/source/blender/draw/engines/workbench/solid_mode.c
+++ b/source/blender/draw/engines/workbench/solid_mode.c
@@ -85,6 +85,17 @@ static void workbench_solid_view_update(void *vedata)
workbench_taa_view_updated(data);
}
+static void workbench_solid_id_update(void *UNUSED(vedata), struct ID *id)
+{
+ if (GS(id->name) == ID_OB) {
+ WORKBENCH_ObjectData *oed = (WORKBENCH_ObjectData *)DRW_drawdata_get(id, &draw_engine_workbench_solid);
+ if (oed != NULL && oed->dd.recalc != 0) {
+ oed->shadow_bbox_dirty = (oed->dd.recalc & ID_RECALC_ALL) != 0;
+ oed->dd.recalc = 0;
+ }
+ }
+}
+
static void workbench_render_to_image(void *vedata, RenderEngine *engine, RenderLayer *render_layer, const rcti *rect)
{
workbench_render(vedata, engine, render_layer, rect);
@@ -104,6 +115,6 @@ DrawEngineType draw_engine_workbench_solid = {
&workbench_solid_draw_background,
&workbench_solid_draw_scene,
&workbench_solid_view_update,
- NULL,
+ &workbench_solid_id_update,
&workbench_render_to_image,
};
More information about the Bf-blender-cvs
mailing list