[Bf-blender-cvs] [995c0f84a68] soc-2019-npr: LANPR: Remove mode selector when not in LANPR engine.
YimingWu
noreply at git.blender.org
Thu Jul 18 13:47:50 CEST 2019
Commit: 995c0f84a6837d1c371fc874beed245468d8a42a
Author: YimingWu
Date: Thu Jul 18 19:47:13 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rB995c0f84a6837d1c371fc874beed245468d8a42a
LANPR: Remove mode selector when not in LANPR engine.
===================================================================
M release/scripts/startup/bl_ui/properties_render.py
M source/blender/editors/lanpr/lanpr_ops.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index f07c83f3721..a8a2f218563 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -742,11 +742,11 @@ class RENDER_PT_lanpr(RenderButtonsPanel, Panel):
layout.active = scene.render.engine=="BLENDER_LANPR" or lanpr.enabled
- layout.prop(lanpr, "master_mode", expand=True)
+ if scene.render.engine=="BLENDER_LANPR":
+ layout.prop(lanpr, "master_mode")
if scene.render.engine!="BLENDER_LANPR" and mode != "SOFTWARE":
- layout.label(text="Not in LANPR engine, mode disabled.")
- return;
+ mode = "SOFTWARE"
if mode == "DPIX" and lanpr.shader_error:
layout.label(text="DPIX transform shader compile error!")
@@ -780,7 +780,7 @@ class RENDER_PT_lanpr(RenderButtonsPanel, Panel):
row.operator("scene.lanpr_calculate", icon='FILE_REFRESH', text=txt)
layout.operator("scene.lanpr_export_svg", icon='OUTLINER_OB_CURVE', text="Generate SVG to a text block")
- if lanpr.master_mode == "DPIX":
+ if mode == "DPIX":
layout.label(text="Cache Size:")
layout.prop(lanpr,"gpu_cache_size", expand=True)
layout.prop(lanpr,"enable_intersections", text = "Intersection Lines")
@@ -796,11 +796,11 @@ class RENDER_PT_lanpr(RenderButtonsPanel, Panel):
row.prop(lanpr, "background_color",text="")
layout.prop(lanpr, "crease_threshold")
- if lanpr.master_mode == "DPIX" and len(lanpr.layers)==0:
+ if mode == "DPIX" and len(lanpr.layers)==0:
layout.label(text="You don't have a layer to display.")
layout.operator("scene.lanpr_add_line_layer");
- if lanpr.master_mode == "SOFTWARE":
+ if mode == "SOFTWARE":
row = layout.row()
row.prop(lanpr,"enable_intersections", text = "Intersection Lines")
@@ -843,17 +843,22 @@ class RENDER_PT_lanpr_line_types(RenderButtonsPanel, Panel):
scene = context.scene
lanpr = scene.lanpr
active_layer = lanpr.layers.active_layer
- return scene.render.engine=="BLENDER_LANPR" and active_layer and lanpr.master_mode != "SNAKE"
+ return scene.render.engine=="BLENDER_LANPR" and active_layer
def draw(self, context):
layout = self.layout
scene = context.scene
lanpr = scene.lanpr
active_layer = lanpr.layers.active_layer
- if active_layer and lanpr.master_mode == "DPIX":
+
+ mode = lanpr.master_mode
+ if scene.render.engine!="BLENDER_LANPR" and mode != "SOFTWARE":
+ mode = "SOFTWARE"
+
+ if active_layer and mode == "DPIX":
active_layer = lanpr.layers[0]
- if lanpr.master_mode == "SOFTWARE":
+ if mode == "SOFTWARE":
row = layout.row(align=True)
row.prop(active_layer, "use_multiple_levels", icon='GP_MULTIFRAME_EDITING', icon_only=True)
row.prop(active_layer, "qi_begin", text='Level')
@@ -903,7 +908,7 @@ class RENDER_PT_lanpr_line_types(RenderButtonsPanel, Panel):
row.prop(active_layer, "intersection_color", text="")
row.prop(active_layer, "thickness_intersection", text="", slider=True)
- if lanpr.master_mode == "DPIX" and active_layer.enable_intersection:
+ if mode == "DPIX" and active_layer.enable_intersection:
row = col.row(align = True)
row.prop(lanpr,"enable_intersections", toggle = True, text = "Enable")
if lanpr.enable_intersections:
@@ -923,7 +928,7 @@ class RENDER_PT_lanpr_line_components(RenderButtonsPanel, Panel):
scene = context.scene
lanpr = scene.lanpr
active_layer = lanpr.layers.active_layer
- return scene.render.engine=="BLENDER_LANPR" and active_layer and lanpr.master_mode == "SOFTWARE" and not lanpr.enable_chaining
+ return scene.render.engine=="BLENDER_LANPR" and active_layer and not lanpr.enable_chaining
def draw(self, context):
layout = self.layout
@@ -963,7 +968,7 @@ class RENDER_PT_lanpr_line_effects(RenderButtonsPanel, Panel):
scene = context.scene
lanpr = scene.lanpr
active_layer = lanpr.layers.active_layer
- return scene.render.engine=="BLENDER_LANPR" and active_layer and (lanpr.master_mode == "DPIX" or lanpr.master_mode == "SOFTWARE")
+ return scene.render.engine=="BLENDER_LANPR" and active_layer
def draw(self, context):
layout = self.layout
@@ -1084,7 +1089,7 @@ class RENDER_PT_lanpr_software_chain_styles(RenderButtonsPanel, Panel):
def poll(cls, context):
scene = context.scene
lanpr = scene.lanpr
- return lanpr.master_mode == "SOFTWARE" and lanpr.enable_chaining
+ return lanpr.enable_chaining and not (scene.render.engine=='BLENDER_LANPR' and lanpr.master_mode=='DPIX')
def draw(self, context):
layout = self.layout
diff --git a/source/blender/editors/lanpr/lanpr_ops.c b/source/blender/editors/lanpr/lanpr_ops.c
index 32b1bf97d3c..a76f1e1a4a1 100644
--- a/source/blender/editors/lanpr/lanpr_ops.c
+++ b/source/blender/editors/lanpr/lanpr_ops.c
@@ -4115,7 +4115,7 @@ static int lanpr_compute_feature_lines_exec(struct bContext *C, struct wmOperato
return OPERATOR_FINISHED;
}
- int intersections_only = (lanpr->master_mode != LANPR_MASTER_MODE_SOFTWARE);
+ int intersections_only = (is_lanpr_engine && lanpr->master_mode != LANPR_MASTER_MODE_SOFTWARE);
result = ED_lanpr_compute_feature_lines_internal(CTX_data_depsgraph(C), intersections_only);
@@ -4632,7 +4632,7 @@ void OBJECT_OT_lanpr_update_gp_source(struct wmOperatorType *ot)
void ED_lanpr_post_frame_update_external(Scene *s, Depsgraph *dg)
{
- if (s->lanpr.master_mode != LANPR_MASTER_MODE_SOFTWARE || !s->lanpr.auto_update) {
+ if (!s->lanpr.enabled || !s->lanpr.auto_update) {
return;
}
if (strcmp(s->r.engine, RE_engine_id_BLENDER_LANPR)) {
More information about the Bf-blender-cvs
mailing list