Commit: 0d959dcc53ac40f8c653ae5c11ecaed8503ad6b6 Author: YimingWu Date: Mon May 23 14:05:19 2022 +0800 Branches: lineart-shadow https://developer.blender.org/rB0d959dcc53ac40f8c653ae5c11ecaed8503ad6b6
Merge branch 'master' into temp-lineart-contained =================================================================== =================================================================== diff --cc source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c index 9a7d066c12a,07826b172e7..3abff68fcd5 --- a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c +++ b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c @@@ -3539,15 -3503,10 +3550,13 @@@ static void lineart_main_bounding_area_ rb->width_per_tile = span_w; rb->height_per_tile = span_h; - rb->bounding_area_count = sp_w * sp_h; + rb->bounding_area_initial_count = sp_w * sp_h; rb->initial_bounding_areas = lineart_mem_acquire( - &rb->render_data_pool, sizeof(LineartBoundingArea) * rb->bounding_area_count); + &rb->render_data_pool, sizeof(LineartBoundingArea) * rb->bounding_area_initial_count); + for (int i = 0; i < rb->bounding_area_initial_count; i++) { + BLI_spin_init(&rb->initial_bounding_areas[i].lock); + } - int i_ba = 0; - /* Initialize tiles. */ for (row = 0; row < sp_h; row++) { for (col = 0; col < sp_w; col++) { @@@ -3826,23 -3788,25 +3838,23 @@@ static void lineart_bounding_area_split b[1] = MAX3(tri->v[0]->fbcoord[0], tri->v[1]->fbcoord[0], tri->v[2]->fbcoord[0]); b[2] = MAX3(tri->v[0]->fbcoord[1], tri->v[1]->fbcoord[1], tri->v[2]->fbcoord[1]); b[3] = MIN3(tri->v[0]->fbcoord[1], tri->v[1]->fbcoord[1], tri->v[2]->fbcoord[1]); - if (LRT_BOUND_AREA_CROSSES(b, &cba[0].l)) { - lineart_bounding_area_link_triangle( - rb, &cba[0], tri, b, 0, recursive_level + 1, false, false, NULL); + if (LRT_BOUND_AREA_CROSSES(b, &ba[0].l)) { + lineart_bounding_area_link_triangle_cas( + rb, &ba[0], tri, b, 0, recursive_level + 1, false, NULL); } - if (LRT_BOUND_AREA_CROSSES(b, &cba[1].l)) { - lineart_bounding_area_link_triangle( - rb, &cba[1], tri, b, 0, recursive_level + 1, false, false, NULL); + if (LRT_BOUND_AREA_CROSSES(b, &ba[1].l)) { + lineart_bounding_area_link_triangle_cas( + rb, &ba[1], tri, b, 0, recursive_level + 1, false, NULL); } - if (LRT_BOUND_AREA_CROSSES(b, &cba[2].l)) { - lineart_bounding_area_link_triangle( - rb, &cba[2], tri, b, 0, recursive_level + 1, false, false, NULL); + if (LRT_BOUND_AREA_CROSSES(b, &ba[2].l)) { + lineart_bounding_area_link_triangle_cas( + rb, &ba[2], tri, b, 0, recursive_level + 1, false, NULL); } - if (LRT_BOUND_AREA_CROSSES(b, &cba[3].l)) { - lineart_bounding_area_link_triangle( - rb, &cba[3], tri, b, 0, recursive_level + 1, false, false, NULL); + if (LRT_BOUND_AREA_CROSSES(b, &ba[3].l)) { + lineart_bounding_area_link_triangle_cas( + rb, &ba[3], tri, b, 0, recursive_level + 1, false, NULL); } } - - rb->bounding_area_count += 3; } static bool lineart_bounding_area_edge_intersect(LineartRenderBuffer *UNUSED(fb), diff --cc source/blender/makesdna/DNA_gpencil_modifier_defaults.h index 9ebfeb18fdc,ae47bf5d524..a8a90c4d154 --- a/source/blender/makesdna/DNA_gpencil_modifier_defaults.h +++ b/source/blender/makesdna/DNA_gpencil_modifier_defaults.h @@@ -303,11 -303,10 +303,12 @@@ .crease_threshold = DEG2RAD(140.0f), \ .calculation_flags = LRT_ALLOW_DUPLI_OBJECTS | LRT_ALLOW_CLIPPING_BOUNDARIES | \ LRT_USE_CREASE_ON_SHARP_EDGES | LRT_FILTER_FACE_MARK_KEEP_CONTOUR, \ - .angle_splitting_threshold = 0.0f, /* Do not split by default, this is for better chaining quality. */ \ + /* Do not split by default, this is for better chaining quality. */ \ + .angle_splitting_threshold = 0.0f, \ .chaining_image_threshold = 0.001f, \ - .chain_smooth_tolerance = 0.2f,\ + .stroke_depth_offset = 0.05,\ + .chain_smooth_tolerance = 0.0f,\ + .overscan = 0.1f,\ .stroke_depth_offset = 0.05,\ } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs