Commit: b5ea252ac33a59ebd264e03452f403866609aa2e Author: YimingWu Date: Wed Jun 19 16:47:32 2019 +0800 Branches: soc-2019-npr https://developer.blender.org/rBb5ea252ac33a59ebd264e03452f403866609aa2e
LANPR: Chaining threshold parameter. Disabled LANPR composition operators. =================================================================== M release/scripts/startup/bl_operators/lanpr.py M release/scripts/startup/bl_ui/properties_render.py M source/blender/blenkernel/intern/scene.c M source/blender/draw/engines/lanpr/lanpr_chain.c M source/blender/draw/engines/lanpr/lanpr_ops.c M source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c M source/blender/makesdna/DNA_scene_types.h M source/blender/makesrna/intern/rna_scene.c =================================================================== diff --git a/release/scripts/startup/bl_operators/lanpr.py b/release/scripts/startup/bl_operators/lanpr.py index 3c5b484855e..0cef8d5e904 100644 --- a/release/scripts/startup/bl_operators/lanpr.py +++ b/release/scripts/startup/bl_operators/lanpr.py @@ -234,9 +234,9 @@ class LANPR_render_composited(bpy.types.Operator): return {'FINISHED'} classes=( - LANPR_make_composition_scene, - LANPR_remove_composition_scene, - LANPR_goto_original_scene, - LANPR_goto_composition_scene, - LANPR_render_composited, + #LANPR_make_composition_scene, + #LANPR_remove_composition_scene, + #LANPR_goto_original_scene, + #LANPR_goto_composition_scene, + #LANPR_render_composited, ) \ No newline at end of file diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py index c22fb320e50..ab0452556fd 100644 --- a/release/scripts/startup/bl_ui/properties_render.py +++ b/release/scripts/startup/bl_ui/properties_render.py @@ -1029,6 +1029,7 @@ class RENDER_PT_lanpr_software_chain_styles(RenderButtonsPanel, Panel): layout = self.layout scene = context.scene lanpr = scene.lanpr + layout.prop(lanpr, "chaining_threshold") layout.label(text="Taper:") layout.prop(lanpr, "use_same_taper", expand = True) if lanpr.use_same_taper == "DISABLED": diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index cc0977d715f..eb8eedcb275 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -987,15 +987,19 @@ void BKE_scene_init(Scene *sce) sce->lanpr.enable_intersections = 1; - sce->lanpr.background_color[0] = 0.76; - sce->lanpr.background_color[1] = 0.54; - sce->lanpr.background_color[2] = 0.29; + sce->lanpr.background_color[0] = 0; + sce->lanpr.background_color[1] = 0; + sce->lanpr.background_color[2] = 0; sce->lanpr.background_color[3] = 1; - sce->lanpr.line_color[0] = 0.39; - sce->lanpr.line_color[1] = 0.12; - sce->lanpr.line_color[2] = 0.04; + sce->lanpr.line_color[0] = 1; + sce->lanpr.line_color[1] = 1; + sce->lanpr.line_color[2] = 1; sce->lanpr.line_color[3] = 1; + + sce->lanpr.enable_intersections = 1; + sce->lanpr.enable_chaining = 1; + sce->lanpr.chaining_threshold = 0.01; } Scene *BKE_scene_add(Main *bmain, const char *name) diff --git a/source/blender/draw/engines/lanpr/lanpr_chain.c b/source/blender/draw/engines/lanpr/lanpr_chain.c index 7c4da87b422..5dfad61089f 100644 --- a/source/blender/draw/engines/lanpr/lanpr_chain.c +++ b/source/blender/draw/engines/lanpr/lanpr_chain.c @@ -195,7 +195,7 @@ void lanpr_reduce_render_line_chain_recursive(LANPR_RenderLineChain *rlc, } } -void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb, float dist_threshold) +void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb) { LANPR_RenderLineChain *rlc; LANPR_RenderLineChainItem *rlci; @@ -412,16 +412,6 @@ void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb, float dist_thre } ba = lanpr_get_point_bounding_area(rb, new_rv->fbcoord[0], new_rv->fbcoord[1]); } - - // LANPR_RenderLineChainItem* rlci; - // printf("line:\n"); - // for (rlci = rlc->chain.first; rlci; rlci = rlci->item.next) { - // printf(" %f,%f %d\n", rlci->pos[0],rlci->pos[1], rlci->occlusion); - //} - // printf("--------\n"); - - // lanpr_reduce_render_line_chain_recursive(rlc,rlc->chain.first, rlc->chain.last, - // dist_threshold); } } @@ -623,7 +613,7 @@ void lanpr_connect_chains_image_space(LANPR_RenderBuffer *rb) dist = new_len; } } - if (dist < 0.01f && closest_cre) { + if (dist < rb->scene->lanpr.chaining_threshold && closest_cre) { closest_cre->picked = 1; closest_cre->rlc->picked = 1; BLI_remlink(&ba->linked_chains, cre); @@ -662,7 +652,7 @@ void lanpr_connect_chains_image_space(LANPR_RenderBuffer *rb) dist = new_len; } } - if (dist < 0.01f && closest_cre) { + if (dist < rb->scene->lanpr.chaining_threshold && closest_cre) { closest_cre->picked = 1; closest_cre->rlc->picked = 1; BLI_remlink(&ba->linked_chains, cre); diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c b/source/blender/draw/engines/lanpr/lanpr_ops.c index 94dc09a77e4..2324f50d83d 100644 --- a/source/blender/draw/engines/lanpr/lanpr_ops.c +++ b/source/blender/draw/engines/lanpr/lanpr_ops.c @@ -3721,7 +3721,7 @@ void lanpr_viewport_draw_offline_result(LANPR_TextureList *txl, DRW_multisamples_resolve(txl->depth, txl->color, 1); } -void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb, float dist_threshold); +void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb); void lanpr_split_chains_for_fixed_occlusion(LANPR_RenderBuffer *rb); void lanpr_connect_chains_image_space(LANPR_RenderBuffer *rb); @@ -3972,7 +3972,7 @@ int lanpr_compute_feature_lines_internal(Depsgraph *depsgraph, SceneLANPR *lanpr lanpr_THREAD_calculate_line_occlusion_begin(rb); if (lanpr->enable_chaining) { - lanpr_NO_THREAD_chain_feature_lines(rb, 0.00001); // should use user_adjustable value + lanpr_NO_THREAD_chain_feature_lines(rb); // should use user_adjustable value lanpr_split_chains_for_fixed_occlusion(rb); lanpr_connect_chains_image_space(rb); } diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c index 75707792f53..c3d4f930c88 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c @@ -84,7 +84,6 @@ static void copyData(const GpencilModifierData *md, GpencilModifierData *target) static void deformStroke( GpencilModifierData *md, Depsgraph *depsgraph, Object *ob, bGPDlayer *gpl, bGPDframe *gpf) { - lanpr_update_data_for_external(depsgraph); lanpr_generate_gpencil_from_chain(md, depsgraph, ob, gpl, gpf); } @@ -96,6 +95,8 @@ static void bakeModifier(Main *UNUSED(bmain), bGPdata *gpd = ob->data; + lanpr_update_data_for_external(depsgraph); + for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) { for (bGPDframe *gpf = gpl->frames.first; gpf; gpf = gpf->next) { deformStroke(md, depsgraph, ob, gpl, gpf); @@ -109,6 +110,7 @@ static void bakeModifier(Main *UNUSED(bmain), static void generateStrokes( GpencilModifierData *md, Depsgraph *depsgraph, Object *ob, bGPDlayer *gpl, bGPDframe *gpf) { + lanpr_update_data_for_external(depsgraph); deformStroke(md, depsgraph, ob, gpl, gpf); } diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index c05ed05ff77..b8ae5601998 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -1686,15 +1686,17 @@ typedef struct SceneLANPR { ListBase line_layers; /* now here!!! */ struct LANPR_LineLayer *active_layer; - int enable_intersections; - int enable_chaining; + char enable_intersections; + char enable_chaining; + char enable_chain_connection; + char _pad1; + float chaining_threshold; /* composite utility */ int composite_render_animation; - int _pad1; + int _pad2; - } SceneLANPR; /* *************************************************************** */ diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index d6620a03cd8..b8062e13cc2 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -7354,14 +7354,14 @@ static void rna_def_scene_lanpr(BlenderRNA *brna) RNA_def_property_boolean_default(prop, 1); RNA_def_property_ui_text(prop, "Enable Chaining", "Chain Feature Lines After Occlusion Test"); - /* composition */ + prop = RNA_def_property(srna, "enable_chain_connection", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_default(prop, 1); + RNA_def_property_ui_text(prop, "Enable Chain Connection", "Connect short chains in the image space into one longer chain"); - prop = RNA_def_property(srna, "composite_render_animation", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_default(prop, 0); - RNA_def_property_ui_text( - prop, - "Composition Render Animation", - "Re-render backdrop and LANPR layer to produce animation(image sequence only)."); + prop = RNA_def_property(srna, "chaining_threshold", PROP_FLOAT, PROP_NONE); + RNA_def_property_float_default(prop, 0.01f); + RNA_def_property_ui_text(prop, "Threshold", "Segments where distance between them lower than this value will be chained together"); + RNA_def_property_ui_range(prop, 0.0f, 0.02f, 0.001, 3); /* here's the collection stuff.... */ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs