[Bf-blender-cvs] [1616a6a57fb] soc-2019-npr: LANPR: use LANPR_LineType for duplicated style storage.
YimingWu
noreply at git.blender.org
Wed Jul 24 04:56:23 CEST 2019
Commit: 1616a6a57fb3cbccd6c2ea7383b60f5dc4812936
Author: YimingWu
Date: Wed Jul 24 10:55:54 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rB1616a6a57fb3cbccd6c2ea7383b60f5dc4812936
LANPR: use LANPR_LineType for duplicated style storage.
===================================================================
M release/scripts/startup/bl_ui/properties_render.py
M source/blender/draw/engines/lanpr/lanpr_cpu.c
M source/blender/draw/engines/lanpr/lanpr_engine.c
M source/blender/editors/lanpr/lanpr_ops.c
M source/blender/makesdna/DNA_lanpr_types.h
M source/blender/makesrna/intern/rna_lanpr.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index f8c790c75b4..401a2ae082e 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -833,6 +833,14 @@ class RENDER_PT_lanpr(RenderButtonsPanel, Panel):
# layout.label(text="Vectorization:")
# layout.prop(lanpr, "enable_vector_trace", expand = True)
+def lanpr_make_line_type(expand,layout,line_type,label):
+ layout.prop(line_type, "enabled", text=label)
+ if expand and line_type.enabled:
+ c = layout.column(align=True)
+ c.prop(line_type, "color", text="Color")
+ c.prop(line_type, "thickness", slider=True)
+
+
class RENDER_PT_lanpr_layer_settings(RenderButtonsPanel, Panel):
bl_label = "Layer Settings"
bl_parent_id = "RENDER_PT_lanpr"
@@ -877,37 +885,14 @@ class RENDER_PT_lanpr_layer_settings(RenderButtonsPanel, Panel):
if not expand:
col.prop(active_layer, "color")
col.prop(active_layer, "thickness")
-
- layout.prop(active_layer, "enable_contour", text="Draw Contour")
- if expand and active_layer.enable_contour:
- c = layout.column(align=True)
- c.prop(active_layer, "contour_color", text="Color")
- c.prop(active_layer, "thickness_contour", slider=True)
-
- layout.prop(active_layer, "enable_crease", text="Draw Crease")
- if expand and active_layer.enable_crease:
- c = layout.column(align=True)
- c.prop(active_layer, "contour_color", text="Color")
- c.prop(active_layer, "thickness_contour", slider=True)
-
- layout.prop(active_layer, "enable_edge_mark", text="Draw Mark")
- if expand and active_layer.enable_edge_mark:
- c = layout.column(align=True)
- c.prop(active_layer, "edge_mark_color", text="Color")
- c.prop(active_layer, "thickness_edge_mark", slider=True)
-
- layout.prop(active_layer, "enable_material_seperate", text="Draw Material")
- if expand and active_layer.enable_material_seperate:
- c = layout.column(align=True)
- c.prop(active_layer, "material_color", text="Color")
- c.prop(active_layer, "thickness_material", slider=True)
+
+ lanpr_make_line_type(expand,layout,active_layer.contour,"Draw Contour")
+ lanpr_make_line_type(expand,layout,active_layer.crease,"Draw Crease")
+ lanpr_make_line_type(expand,layout,active_layer.edge_mark,"Draw EdgeMark")
+ lanpr_make_line_type(expand,layout,active_layer.material_separate,"Draw Material")
if lanpr.enable_intersections:
- layout.prop(active_layer, "enable_intersection", text="Draw Intersection")
- if expand and active_layer.enable_intersection:
- c = layout.column(align=True)
- c.prop(active_layer, "intersection_color", text="Color")
- c.prop(active_layer, "thickness_intersection", slider=True)
+ lanpr_make_line_type(expand,layout,active_layer.intersection,"Draw Intersection")
else:
layout.label(text= "Intersection calculation disabled.")
diff --git a/source/blender/draw/engines/lanpr/lanpr_cpu.c b/source/blender/draw/engines/lanpr/lanpr_cpu.c
index c647f49e61b..569082855af 100644
--- a/source/blender/draw/engines/lanpr/lanpr_cpu.c
+++ b/source/blender/draw/engines/lanpr/lanpr_cpu.c
@@ -77,19 +77,19 @@ void lanpr_rebuild_render_draw_command(LANPR_RenderBuffer *rb, LANPR_LineLayer *
GPUVertBuf *vbo = GPU_vertbuf_create_with_format(&format);
- if (ll->enable_contour) {
+ if (ll->contour.enabled) {
Count += lanpr_count_leveled_edge_segment_count(&rb->contours, ll);
}
- if (ll->enable_crease) {
+ if (ll->crease.enabled) {
Count += lanpr_count_leveled_edge_segment_count(&rb->crease_lines, ll);
}
- if (ll->enable_intersection) {
+ if (ll->intersection.enabled) {
Count += lanpr_count_leveled_edge_segment_count(&rb->intersection_lines, ll);
}
- if (ll->enable_edge_mark) {
+ if (ll->edge_mark.enabled) {
Count += lanpr_count_leveled_edge_segment_count(&rb->edge_marks, ll);
}
- if (ll->enable_material_seperate) {
+ if (ll->material_separate.enabled) {
Count += lanpr_count_leveled_edge_segment_count(&rb->material_lines, ll);
}
@@ -104,19 +104,19 @@ void lanpr_rebuild_render_draw_command(LANPR_RenderBuffer *rb, LANPR_LineLayer *
tv = v = CreateNewBuffer(float, 6 * Count);
tn = N = CreateNewBuffer(float, 6 * Count);
- if (ll->enable_contour) {
+ if (ll->contour.enabled) {
tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->contours, tv, tn, &tn, ll, 1.0f);
}
- if (ll->enable_crease) {
+ if (ll->crease.enabled) {
tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->crease_lines, tv, tn, &tn, ll, 2.0f);
}
- if (ll->enable_material_seperate) {
+ if (ll->material_separate.enabled) {
tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->material_lines, tv, tn, &tn, ll, 3.0f);
}
- if (ll->enable_edge_mark) {
+ if (ll->edge_mark.enabled) {
tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->edge_marks, tv, tn, &tn, ll, 4.0f);
}
- if (ll->enable_intersection) {
+ if (ll->intersection.enabled) {
tv = lanpr_make_leveled_edge_vertex_array(
rb, &rb->intersection_lines, tv, tn, &tn, ll, 5.0f);
}
@@ -345,52 +345,52 @@ void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb, int is_render)
DRW_shgroup_uniform_vec4(rb->ChainShgrp,
"contour_color",
- ll->use_same_style ? ll->color : ll->contour_color,
+ ll->use_same_style ? ll->color : ll->contour.color,
1);
DRW_shgroup_uniform_vec4(
- rb->ChainShgrp, "crease_color", ll->use_same_style ? ll->color : ll->crease_color, 1);
+ rb->ChainShgrp, "crease_color", ll->use_same_style ? ll->color : ll->crease.color, 1);
DRW_shgroup_uniform_vec4(rb->ChainShgrp,
"material_color",
- ll->use_same_style ? ll->color : ll->material_color,
+ ll->use_same_style ? ll->color : ll->material_separate.color,
1);
DRW_shgroup_uniform_vec4(rb->ChainShgrp,
"edge_mark_color",
- ll->use_same_style ? ll->color : ll->edge_mark_color,
+ ll->use_same_style ? ll->color : ll->edge_mark.color,
1);
DRW_shgroup_uniform_vec4(rb->ChainShgrp,
"intersection_color",
- ll->use_same_style ? ll->color : ll->intersection_color,
+ ll->use_same_style ? ll->color : ll->intersection.color,
1);
static float unit_thickness = 1.0f;
DRW_shgroup_uniform_float(rb->ChainShgrp, "thickness", &ll->thickness, 1);
DRW_shgroup_uniform_float(rb->ChainShgrp,
"thickness_contour",
- ll->use_same_style ? &unit_thickness : &ll->thickness_contour,
+ ll->use_same_style ? &unit_thickness : &ll->contour.thickness,
1);
DRW_shgroup_uniform_float(rb->ChainShgrp,
"thickness_crease",
- ll->use_same_style ? &unit_thickness : &ll->thickness_crease,
+ ll->use_same_style ? &unit_thickness : &ll->crease.thickness,
1);
DRW_shgroup_uniform_float(rb->ChainShgrp,
"thickness_material",
- ll->use_same_style ? &unit_thickness : &ll->thickness_material,
+ ll->use_same_style ? &unit_thickness : &ll->material_separate.thickness,
1);
DRW_shgroup_uniform_float(rb->ChainShgrp,
"thickness_edge_mark",
- ll->use_same_style ? &unit_thickness : &ll->thickness_edge_mark,
+ ll->use_same_style ? &unit_thickness : &ll->edge_mark.thickness,
1);
DRW_shgroup_uniform_float(rb->ChainShgrp,
"thickness_intersection",
ll->use_same_style ? &unit_thickness :
- &ll->thickness_intersection,
+ &ll->intersection.thickness,
1);
- DRW_shgroup_uniform_int(rb->ChainShgrp, "enable_contour", &ll->enable_contour, 1);
- DRW_shgroup_uniform_int(rb->ChainShgrp, "enable_crease", &ll->enable_crease, 1);
+ DRW_shgroup_uniform_int(rb->ChainShgrp, "contour.enabled", &ll->contour.enabled, 1);
+ DRW_shgroup_uniform_int(rb->ChainShgrp, "crease.enabled", &ll->crease.enabled, 1);
DRW_shgroup_uniform_int(
- rb->ChainShgrp, "enable_material", &ll->enable_material_seperate, 1);
- DRW_shgroup_uniform_int(rb->ChainShgrp, "enable_edge_mark", &ll->enable_edge_mark, 1);
+ rb->ChainShgrp, "enable_material", &ll->material_separate.enabled, 1);
+ DRW_shgroup_uniform_int(rb->ChainShgrp, "edge_mark.enabled", &ll->edge_mark.enabled, 1);
DRW_shgroup_uniform_int(
- rb->ChainShgrp, "enable_intersection", &ll->enable_intersection, 1);
+ rb->ChainShgrp, "intersection.enabled", &ll->intersection.enabled, 1);
DRW_shgroup_uniform_int(rb->ChainShgrp, "normal_mode", &ll->normal_mode, 1);
DRW_shgroup_uniform_int(
@@ -447,45 +447,45 @@ void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb, int is_render
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list