[Bf-blender-cvs] [9d7466739cc] temp-lineart-contained: Merge remote-tracking branch 'origin/master' into temp-lineart-contained
YimingWu
noreply at git.blender.org
Tue Jun 8 11:25:32 CEST 2021
Commit: 9d7466739cc448f075b7eb934ae6ebbf819ea915
Author: YimingWu
Date: Tue Jun 8 17:25:18 2021 +0800
Branches: temp-lineart-contained
https://developer.blender.org/rB9d7466739cc448f075b7eb934ae6ebbf819ea915
Merge remote-tracking branch 'origin/master' into temp-lineart-contained
===================================================================
===================================================================
diff --cc source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
index bfe154317ed,98b24be0d54..d6fc6ee3d83
--- a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
+++ b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
@@@ -494,9 -481,8 +492,9 @@@ static void lineart_main_occlusion_begi
rb->intersection.last = rb->intersection.first;
rb->material.last = rb->material.first;
rb->edge_mark.last = rb->edge_mark.first;
+ rb->floating.last = rb->floating.first;
- TaskPool *tp = BLI_task_pool_create(NULL, TASK_PRIORITY_HIGH);
- TaskPool *tp = BLI_task_pool_create(NULL, TASK_PRIORITY_HIGH, TASK_ISOLATION_ON);
++ TaskPool *tp = BLI_task_pool_create(NULL, TASK_PRIORITY_HIGH, TASK_ISOLATION_OFF);
for (i = 0; i < thread_count; i++) {
rti[i].thread_id = i;
@@@ -2144,7 -1987,7 +2142,7 @@@ static void lineart_main_load_geometrie
}
DEG_OBJECT_ITER_END;
- TaskPool *tp = BLI_task_pool_create(NULL, TASK_PRIORITY_HIGH);
- TaskPool *tp = BLI_task_pool_create(NULL, TASK_PRIORITY_HIGH, TASK_ISOLATION_ON);
++ TaskPool *tp = BLI_task_pool_create(NULL, TASK_PRIORITY_HIGH, TASK_ISOLATION_OFF);
for (int i = 0; i < thread_count; i++) {
olti[i].rb = rb;
@@@ -4038,26 -3830,11 +4035,24 @@@ bool MOD_lineart_compute_feature_lines(
t_start = PIL_check_seconds_timer();
}
- BKE_scene_camera_switch_update(scene);
-
- if (!scene->camera) {
- return false;
+ if (lmd->calculation_flags & LRT_USE_CUSTOM_CAMERA) {
+ if (!lmd->source_camera ||
+ (use_camera = DEG_get_evaluated_object(depsgraph, lmd->source_camera))->type !=
+ OB_CAMERA) {
+ return false;
+ }
}
+ else {
+ if (!scene->camera) {
+ return false;
+ }
+ use_camera = scene->camera;
+ }
+
+ LineartCache *lc = lineart_init_cache();
+ (*cached_result) = lc;
- rb = lineart_create_render_buffer(scene, lmd);
+ rb = lineart_create_render_buffer(scene, lmd, use_camera, scene->camera, lc);
/* Triangle thread testing data size varies depending on the thread count.
* See definition of LineartTriangleThread for details. */
More information about the Bf-blender-cvs
mailing list