[Bf-blender-cvs] [dc5389f5148] temp-lanpr-staging: LANPR: Fix flag usages. Removed custom types.
YimingWu
noreply at git.blender.org
Wed Sep 4 07:37:05 CEST 2019
Commit: dc5389f5148514d7e48711ef35197e078959ef62
Author: YimingWu
Date: Wed Sep 4 13:36:25 2019 +0800
Branches: temp-lanpr-staging
https://developer.blender.org/rBdc5389f5148514d7e48711ef35197e078959ef62
LANPR: Fix flag usages. Removed custom types.
===================================================================
M source/blender/blenkernel/intern/scene.c
M source/blender/blenloader/intern/versioning_280.c
M source/blender/draw/engines/lanpr/lanpr_cpu.c
M source/blender/draw/engines/lanpr/lanpr_engine.c
M source/blender/editors/include/ED_lanpr.h
M source/blender/makesdna/DNA_scene_types.h
M source/blender/makesrna/intern/rna_lanpr.c
M source/blender/makesrna/intern/rna_scene.c
===================================================================
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 30807fe2b48..65d2e0d15c4 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -1025,15 +1025,12 @@ void BKE_scene_init(Scene *sce)
sce->lanpr.crease_threshold = 0.7;
- sce->lanpr.enable_intersections = 1;
-
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.flags |= (LANPR_USE_CHAINING | LANPR_USE_INTERSECTIONS);
sce->lanpr.chaining_image_threshold = 0.01;
sce->lanpr.chaining_geometry_threshold = 0.1;
}
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index e150cc0a6ea..f01ce71b513 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -1909,7 +1909,7 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
scene->lanpr.crease_threshold = 0.7;
- scene->lanpr.enable_intersections = 1;
+ scene->lanpr.flags |= (LANPR_USE_CHAINING | LANPR_USE_INTERSECTIONS);
scene->lanpr.line_color[0] = 0.39;
scene->lanpr.line_color[1] = 0.12;
@@ -3623,12 +3623,9 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
for (Scene *sce = bmain->scenes.first; sce; sce = sce->id.next) {
sce->lanpr.crease_threshold = 0.7;
- sce->lanpr.enable_intersections = 1;
-
zero_v4(sce->lanpr.line_color);
- sce->lanpr.enable_intersections = 1;
- sce->lanpr.enable_chaining = 1;
+ sce->lanpr.flags |= (LANPR_USE_CHAINING | LANPR_USE_INTERSECTIONS);
sce->lanpr.chaining_image_threshold = 0.01f;
sce->lanpr.chaining_geometry_threshold = 0.0f;
diff --git a/source/blender/draw/engines/lanpr/lanpr_cpu.c b/source/blender/draw/engines/lanpr/lanpr_cpu.c
index 9a4ecd6b3d6..e8b7365df24 100644
--- a/source/blender/draw/engines/lanpr/lanpr_cpu.c
+++ b/source/blender/draw/engines/lanpr/lanpr_cpu.c
@@ -128,7 +128,7 @@ void ED_lanpr_rebuild_all_command(SceneLANPR *lanpr)
return;
}
- if (lanpr->enable_chaining) {
+ if (lanpr->flags & LANPR_USE_CHAINING) {
lanpr_chain_generate_draw_command(lanpr_share.render_buffer_shared);
}
else {
@@ -243,7 +243,8 @@ void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb, int is_render)
camzoom = 1.0f;
}
- if (lanpr->enable_chaining && lanpr_share.render_buffer_shared->chain_draw_batch) {
+ if ((lanpr->flags & LANPR_USE_CHAINING) &&
+ lanpr_share.render_buffer_shared->chain_draw_batch) {
for (ll = lanpr->line_layers.last; ll; ll = ll->prev) {
LANPR_RenderBuffer *rb;
psl->software_pass = DRW_pass_create("Software Render Preview",
@@ -372,7 +373,7 @@ void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb, int is_render)
DRW_draw_pass(psl->software_pass);
}
}
- else if (!lanpr->enable_chaining) {
+ else if (!(lanpr->flags & LANPR_USE_CHAINING)) {
for (ll = lanpr->line_layers.last; ll; ll = ll->prev) {
if (ll->batch) {
psl->software_pass = DRW_pass_create("Software Render Preview",
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c b/source/blender/draw/engines/lanpr/lanpr_engine.c
index 755a2d76527..c582c0b4ae2 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -317,24 +317,29 @@ static void lanpr_cache_init(void *vedata)
stl->g_data->dpix_preview_shgrp, "viewport", stl->g_data->dpix_viewport, 1);
DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
"contour_color",
- ll->use_same_style ? ll->color : ll->contour.color,
+ (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? ll->color :
+ ll->contour.color,
1);
DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
"crease_color",
- ll->use_same_style ? ll->color : ll->crease.color,
- 1);
- DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
- "material_color",
- ll->use_same_style ? ll->color : ll->material_separate.color,
+ (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? ll->color :
+ ll->crease.color,
1);
+ DRW_shgroup_uniform_vec4(
+ stl->g_data->dpix_preview_shgrp,
+ "material_color",
+ (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? ll->color : ll->material_separate.color,
+ 1);
DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
"edge_mark_color",
- ll->use_same_style ? ll->color : ll->edge_mark.color,
- 1);
- DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
- "intersection_color",
- ll->use_same_style ? ll->color : ll->intersection.color,
+ (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? ll->color :
+ ll->edge_mark.color,
1);
+ DRW_shgroup_uniform_vec4(
+ stl->g_data->dpix_preview_shgrp,
+ "intersection_color",
+ (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? ll->color : ll->intersection.color,
+ 1);
static float use_background_color[4];
copy_v3_v3(use_background_color, &scene->world->horr);
use_background_color[3] = scene->r.alphamode ? 0.0f : 1.0f;
@@ -359,26 +364,32 @@ static void lanpr_cache_init(void *vedata)
static float unit_thickness = 1.0f;
DRW_shgroup_uniform_float(
stl->g_data->dpix_preview_shgrp, "line_thickness", &ll->thickness, 1);
- DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
- "line_thickness_contour",
- ll->use_same_style ? &unit_thickness : &ll->contour.thickness,
- 1);
- DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
- "line_thickness_crease",
- ll->use_same_style ? &unit_thickness : &ll->crease.thickness,
- 1);
+ DRW_shgroup_uniform_float(
+ stl->g_data->dpix_preview_shgrp,
+ "line_thickness_contour",
+ (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? &unit_thickness : &ll->contour.thickness,
+ 1);
+ DRW_shgroup_uniform_float(
+ stl->g_data->dpix_preview_shgrp,
+ "line_thickness_crease",
+ (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? &unit_thickness : &ll->crease.thickness,
+ 1);
DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
"line_thickness_material",
- ll->use_same_style ? &unit_thickness :
- &ll->material_separate.thickness,
- 1);
- DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
- "line_thickness_edge_mark",
- ll->use_same_style ? &unit_thickness : &ll->edge_mark.thickness,
+ (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ?
+ &unit_thickness :
+ &ll->material_separate.thickness,
1);
+ DRW_shgroup_uniform_float(
+ stl->g_data->dpix_preview_shgrp,
+ "line_thickness_edge_mark",
+ (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? &unit_thickness : &ll->edge_mark.thickness,
+ 1);
DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
"line_thickness_intersection",
- ll->use_same_style ? &unit_thickness : &ll->intersection.thickness,
+ (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ?
+ &unit_thickness :
+ &ll->intersection.thickness,
1);
DRW_shgroup_uniform_float(
stl->g_data->dpix_preview_shgrp, "z_near", &stl->g_data->dpix_znear, 1);
@@ -387,9 +398,12 @@ static void lanpr_cache_init(void *vedata)
ED_lanpr_calculate_normal_object_vector(ll, normal_object_direction);
+ static int normal_effect_inverse;
+ normal_effect_inverse = (ll->flags & LANPR_LINE_LAYER_NORMAL_INVERSE);
+
DRW_shgroup_uniform_int(stl->g_data->dpix_preview_shgrp, "normal_mode", &ll->normal_mode, 1);
DRW_shgroup_uniform_int(
- stl->g_data->dpix_preview_shgrp, "normal_effect_inverse", &ll->normal_effect_inverse, 1);
+ stl->g_data->dpix_preview_shgrp, "normal_effect_inverse", &normal_effect_inverse, 1);
DRW_shgroup_uniform_float(
stl->g_data->dpix_preview_shgrp, "normal_ramp_begin", &ll->normal_ramp_begin, 1);
DRW_shgroup_uniform_float(
@@ -422,7 +436,7 @@ static void lanpr_cache_init(void *vedata)
/* Intersection cache must be calculated before drawing. */
int updated = 0;
- if (draw_ctx->scene->lanpr.auto_update &&
+ if ((draw_ctx->scene->lanpr.flags & LANPR_AUTO_UPDATE) &&
(!lanpr_share.render_buffer_shared ||
lanpr_share.render_buffer_shared->cached_for_frame != draw_ctx->scene->r.cfra)) {
if (draw_ctx->scene->lanpr.master_mode == LANPR_MASTER_MODE_SOFTWARE) {
@@ -664,7 +678,7 @@ static void lanpr_render_to_image(void *vedata,
RE_engine_update_stats(engine, NULL, "LANPR: Initializing");
if (lanpr->master_mode == LANPR_MASTER_MODE_SOFTWARE ||
- (lanpr->master_mode == LANPR_M
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list