Commit: 2d247cbda1d66c4e3e85d5d6a8fb1b6b5163906d Author: YimingWu Date: Thu Jun 27 15:48:54 2019 +0800 Branches: soc-2019-npr https://developer.blender.org/rB2d247cbda1d66c4e3e85d5d6a8fb1b6b5163906d
LANPR: GP stroke bake function. =================================================================== M source/blender/draw/engines/lanpr/lanpr_ops.c M source/blender/editors/render/render_intern.h M source/blender/editors/render/render_ops.c =================================================================== diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c b/source/blender/draw/engines/lanpr/lanpr_ops.c index 97bbc797c32..56596ec853a 100644 --- a/source/blender/draw/engines/lanpr/lanpr_ops.c +++ b/source/blender/draw/engines/lanpr/lanpr_ops.c @@ -4542,6 +4542,32 @@ int lanpr_update_gp_strokes_exec(struct bContext *C, struct wmOperator *op) lanpr_update_gp_strokes_collection(dg, scene->master_collection, frame); + return OPERATOR_FINISHED; +} +int lanpr_bake_gp_strokes_exec(struct bContext *C, struct wmOperator *op) +{ + Scene *scene = CTX_data_scene(C); + Depsgraph *dg = CTX_data_depsgraph(C); + SceneLANPR *lanpr = &scene->lanpr; + int frame, current_frame = scene->r.cfra; + int frame_begin = scene->r.sfra; + int frame_end = scene->r.efra; + + for(frame = frame_begin;frame<=frame_end;frame++){ + //BKE_scene_frame_set(scene,frame); + DEG_evaluate_on_framechange(CTX_data_main(C),dg,frame); + + lanpr_compute_feature_lines_internal(dg); + + lanpr_chain_clear_picked_flag(lanpr_share.render_buffer_shared); + + lanpr_update_gp_strokes_recursive(dg, scene->master_collection, frame); + + lanpr_update_gp_strokes_collection(dg, scene->master_collection, frame); + } + + + return OPERATOR_FINISHED; } @@ -4639,3 +4665,13 @@ void SCENE_OT_lanpr_update_gp_strokes(struct wmOperatorType *ot) ot->exec = lanpr_update_gp_strokes_exec; } + +void SCENE_OT_lanpr_bake_gp_strokes(struct wmOperatorType *ot) +{ + ot->name = "Bake LANPR Strokes"; + ot->description = "Bake strokes for LANPR grease pencil targets in all frames"; + ot->idname = "SCENE_OT_lanpr_bake_gp_strokes"; + + ot->exec = lanpr_bake_gp_strokes_exec; +} + diff --git a/source/blender/editors/render/render_intern.h b/source/blender/editors/render/render_intern.h index fe04b2a420c..5b9f648e1d3 100644 --- a/source/blender/editors/render/render_intern.h +++ b/source/blender/editors/render/render_intern.h @@ -85,6 +85,7 @@ void SCENE_OT_lanpr_add_line_component(struct wmOperatorType *ot); void SCENE_OT_lanpr_delete_line_component(struct wmOperatorType *ot); void SCENE_OT_lanpr_enable_all_line_types(struct wmOperatorType *ot); void SCENE_OT_lanpr_update_gp_strokes(struct wmOperatorType *ot); +void SCENE_OT_lanpr_bake_gp_strokes(struct wmOperatorType *ot); void TEXTURE_OT_slot_copy(struct wmOperatorType *ot); void TEXTURE_OT_slot_paste(struct wmOperatorType *ot); diff --git a/source/blender/editors/render/render_ops.c b/source/blender/editors/render/render_ops.c index 853b8cd8cf7..bfeb2c215ce 100644 --- a/source/blender/editors/render/render_ops.c +++ b/source/blender/editors/render/render_ops.c @@ -90,6 +90,7 @@ void ED_operatortypes_render(void) WM_operatortype_append(SCENE_OT_lanpr_delete_line_component); WM_operatortype_append(SCENE_OT_lanpr_enable_all_line_types); WM_operatortype_append(SCENE_OT_lanpr_update_gp_strokes); + WM_operatortype_append(SCENE_OT_lanpr_bake_gp_strokes); WM_operatortype_append(TEXTURE_OT_slot_copy); WM_operatortype_append(TEXTURE_OT_slot_paste); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs