[Bf-blender-cvs] [acc075f33ca] soc-2019-npr: LANPR: GP stroke now automatically updates LANPR cache.
YimingWu
noreply at git.blender.org
Mon Jun 3 13:25:13 CEST 2019
Commit: acc075f33ca8c38a46d4954e59258e74999c4c06
Author: YimingWu
Date: Mon Jun 3 17:49:24 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rBacc075f33ca8c38a46d4954e59258e74999c4c06
LANPR: GP stroke now automatically updates LANPR cache.
===================================================================
M source/blender/draw/engines/lanpr/lanpr_access.c
M source/blender/draw/engines/lanpr/lanpr_access.h
M source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c
===================================================================
diff --git a/source/blender/draw/engines/lanpr/lanpr_access.c b/source/blender/draw/engines/lanpr/lanpr_access.c
index 85c9327d99f..8f1b4670c94 100644
--- a/source/blender/draw/engines/lanpr/lanpr_access.c
+++ b/source/blender/draw/engines/lanpr/lanpr_access.c
@@ -243,6 +243,7 @@ void lanpr_generate_gpencil_from_chain(
printf("NULL LANPR rb!\n");
return;
}
+ if (scene->lanpr.master_mode != LANPR_MASTER_MODE_SOFTWARE) return;
int color_idx = 0;
int tot_points = 0;
@@ -279,3 +280,12 @@ void lanpr_generate_gpencil_from_chain(
BKE_gpencil_stroke_add_points(gps, stroke_data, count, mat);
}
}
+
+void lanpr_update_data_for_external(Depsgraph *depsgraph){
+ Scene *scene = DEG_get_evaluated_scene(depsgraph);
+ SceneLANPR *lanpr = &scene->lanpr;
+ if (lanpr->master_mode != LANPR_MASTER_MODE_SOFTWARE) return;
+ if (lanpr->render_buffer && lanpr->render_buffer->cached_for_frame != scene->r.cfra){
+ lanpr_compute_feature_lines_internal(depsgraph, lanpr, scene);
+ }
+}
diff --git a/source/blender/draw/engines/lanpr/lanpr_access.h b/source/blender/draw/engines/lanpr/lanpr_access.h
index be5b8b4a743..baa9dbb07ea 100644
--- a/source/blender/draw/engines/lanpr/lanpr_access.h
+++ b/source/blender/draw/engines/lanpr/lanpr_access.h
@@ -16,8 +16,14 @@ void lanpr_generate_gpencil_geometry(
void lanpr_generate_gpencil_from_chain(
GpencilModifierData *md, Depsgraph *depsgraph, Object *ob, bGPDlayer *gpl, bGPDframe *gpf);
+void lanpr_update_data_for_external(Depsgraph *depsgraph);
+
+
int lanpr_count_chain(LANPR_RenderLineChain *rlc);
+int lanpr_compute_feature_lines_internal(Depsgraph *depsgraph, SceneLANPR *lanpr, Scene *scene);
+
void lanpr_destroy_render_data(struct LANPR_RenderBuffer *rb);
+
#endif
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c
index 01dd03ee319..18cbf1f173f 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c
@@ -104,6 +104,7 @@ static void generateStrokes(
GpencilModifierData *md, Depsgraph *depsgraph, Object *ob, bGPDlayer *gpl, bGPDframe *gpf)
{
// lanpr_generate_gpencil_geometry(md, depsgraph, ob, gpl, gpf);
+ lanpr_update_data_for_external(depsgraph);
lanpr_generate_gpencil_from_chain(md, depsgraph, ob, gpl, gpf);
}
More information about the Bf-blender-cvs
mailing list