[Bf-blender-cvs] [7fa715cfb76] soc-2018-npr: Modified UI for chaining.

Nick Wu noreply at git.blender.org
Tue Jul 24 10:58:02 CEST 2018


Commit: 7fa715cfb76c23f82a9d695fa1a6d07e9a162215
Author: Nick Wu
Date:   Tue Jul 24 16:57:29 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB7fa715cfb76c23f82a9d695fa1a6d07e9a162215

Modified UI for chaining.

===================================================================

M	release/scripts/startup/bl_ui/properties_scene.py
M	source/blender/draw/engines/lanpr/lanpr_all.h
M	source/blender/draw/engines/lanpr/lanpr_chain.c
M	source/blender/draw/engines/lanpr/lanpr_dpix.c
M	source/blender/draw/engines/lanpr/lanpr_engine.c
M	source/blender/draw/engines/lanpr/lanpr_ops.c
M	source/blender/draw/engines/lanpr/lanpr_snake.c
M	source/blender/editors/render/render_intern.h
M	source/blender/editors/render/render_ops.c
M	source/blender/makesrna/intern/rna_lanpr.c

===================================================================

diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py
index e142397a5fc..09216661665 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -619,13 +619,19 @@ class SCENE_PT_lanpr(SceneButtonsPanel, Panel):
                 layout.prop(lanpr, "reloaded")
 
             if lanpr.master_mode == "SOFTWARE":
+                layout.prop(lanpr, "background_color")
                 layout.label(text="Enable On Demand:")
                 row = layout.row()
                 row.prop(lanpr,"calculate_intersections", text = "Intersection Lines")
                 row.prop(lanpr,"enable_chaining", text = "Chaining (SLOW!)")
                 layout.label(text="RUN:")
                 layout.operator("scene.lanpr_calculate", icon='RENDER_STILL')
-                layout.label(text="Layer Composition:")
+
+                split = layout.split(percentage=0.7)
+                col = split.column()
+                col.label(text="Layer Composition:")
+                col = split.column()
+                col.operator("scene.lanpr_auto_create_line_layer", text = "Default", icon = "ZOOMIN")
                 layout.template_list("LANPR_linesets", "", lanpr, "layers", lanpr.layers, "active_layer_index", rows=4)
                 if active_layer:
                     split = layout.split()
@@ -670,6 +676,8 @@ class SCENE_PT_lanpr_line_types(SceneButtonsPanel, Panel):
         lanpr = scene.lanpr
         active_layer = lanpr.layers.active_layer
 
+        layout.operator("scene.lanpr_enable_all_line_types")
+
         split = layout.split(percentage=0.3)
         col = split.column()
         col.prop(active_layer, "enable_contour", text="Contour", toggle=True)
@@ -723,7 +731,7 @@ class SCENE_PT_lanpr_line_components(SceneButtonsPanel, Panel):
         scene = context.scene
         lanpr = scene.lanpr
         active_layer = lanpr.layers.active_layer
-        return active_layer and lanpr.master_mode == "SOFTWARE"
+        return active_layer and lanpr.master_mode == "SOFTWARE" and not lanpr.enable_chaining
 
     def draw(self, context):
         layout = self.layout
@@ -810,7 +818,7 @@ class SCENE_PT_lanpr_snake_settings(SceneButtonsPanel, Panel):
     def poll(cls, context):
         scene = context.scene
         lanpr = scene.lanpr
-        return lanpr.master_mode == "SNAKE" and lanpr.enable_vector_trace == "ENABLED"
+        return lanpr.master_mode == "SNAKE" and lanpr.enable_vector_trace == "ENABLE"
 
     def draw(self, context):
         layout = self.layout
@@ -857,6 +865,45 @@ class SCENE_PT_lanpr_snake_settings(SceneButtonsPanel, Panel):
             layout.label(text="---INOP---")
             layout.prop(lanpr,"extend_length")
 
+class SCENE_PT_lanpr_software_chain_styles(SceneButtonsPanel, Panel):
+    bl_label = "Chain Styles"
+    bl_parent_id = "SCENE_PT_lanpr"
+    COMPAT_ENGINES = {'BLENDER_CLAY'}
+
+    @classmethod
+    def poll(cls, context):
+        scene = context.scene
+        lanpr = scene.lanpr
+        return lanpr.master_mode == "SOFTWARE" and lanpr.enable_chaining
+
+    def draw(self, context):
+        layout = self.layout
+        scene = context.scene
+        lanpr = scene.lanpr
+        layout.label(text="Taper:")
+        layout.prop(lanpr, "use_same_taper", expand = True)
+        if lanpr.use_same_taper == "DISABLED":
+            split = layout.split()
+            col = split.column(align = True)
+            col.label(text="Left:")
+            col.prop(lanpr,"taper_left_distance")
+            col.prop(lanpr,"taper_left_strength")
+            col = split.column(align = True)
+            col.label(text="Right:")
+            col.prop(lanpr,"taper_right_distance")
+            col.prop(lanpr,"taper_right_strength")
+        else:
+            split = layout.split()
+            col = split.column(align = True)
+            col.prop(lanpr,"taper_left_distance")
+            col.prop(lanpr,"taper_left_strength") 
+
+        layout.label(text="Tip Extend:")
+        layout.prop(lanpr, "enable_tip_extend",  expand = True)
+        if lanpr.enable_tip_extend == "ENABLED":
+            layout.label(text="---INOP---")
+            layout.prop(lanpr,"extend_length")
+
 
 class SCENE_PT_viewport_display_ssao(SceneButtonsPanel, Panel):
     bl_label = "Screen Space Ambient Occlusion"
@@ -911,6 +958,7 @@ classes = (
     SCENE_PT_lanpr_line_effects,
     SCENE_PT_lanpr_snake_sobel_parameters,
     SCENE_PT_lanpr_snake_settings,
+    SCENE_PT_lanpr_software_chain_styles,
 
     LANPR_linesets,
 )
diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h b/source/blender/draw/engines/lanpr/lanpr_all.h
index 4d0e59a982b..610317c2316 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -359,7 +359,7 @@ typedef struct LANPR_RenderBuffer {
 	//settings
 
 	//int             OutputTransparent;
-	//real            BackgroundColor[4];
+	//real            Backgroundcolor[4];
 
 	int MaxOccludeLevel;
 	real CreaseAngle;
@@ -783,16 +783,16 @@ int lanpr_feed_atlas_data_obj(void *vedata,
                               float *AtlasPointsL, float *AtlasPointsR,
                               float *AtlasFaceNormalL, float *AtlasFaceNormalR,
                               float *AtlasEdgeMask,
-                              Object *ob, int BeginIndex);
+                              Object *ob, int begin_index);
 
 int lanpr_feed_atlas_data_intersection_cache(void *vedata,
                                              float *AtlasPointsL, float *AtlasPointsR,
                                              float *AtlasFaceNormalL, float *AtlasFaceNormalR,
                                              float *AtlasEdgeMask,
-                                             int BeginIndex);
+                                             int begin_index);
 
-int lanpr_feed_atlas_trigger_preview_obj(void *vedata, Object *ob, int BeginIndex);
-void lanpr_create_atlas_intersection_preview(void *vedata, int BeginIndex);
+int lanpr_feed_atlas_trigger_preview_obj(void *vedata, Object *ob, int begin_index);
+void lanpr_create_atlas_intersection_preview(void *vedata, int begin_index);
 
 void lanpr_dpix_draw_scene(LANPR_TextureList *txl, LANPR_FramebufferList *fbl, LANPR_PassList *psl, LANPR_PrivateData *pd, SceneLANPR *lanpr, GPUFrameBuffer *DefaultFB);
 
diff --git a/source/blender/draw/engines/lanpr/lanpr_chain.c b/source/blender/draw/engines/lanpr/lanpr_chain.c
index 8eead84b30f..b23d297f492 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain.c
@@ -26,7 +26,7 @@
 
 #include <math.h>
 
-int lanpr_get_line_bounding_areas(LANPR_RenderBuffer *rb, LANPR_RenderLine *rl, int *RowBegin, int *RowEnd, int *ColBegin, int *ColEnd);
+int lanpr_get_line_bounding_areas(LANPR_RenderBuffer *rb, LANPR_RenderLine *rl, int *rowBegin, int *rowEnd, int *colBegin, int *colEnd);
 LANPR_BoundingArea* lanpr_get_point_bounding_area(LANPR_RenderBuffer *rb, real x, real y);
 
 #define LANPR_OTHER_RV(rl,rv) ((rv) == (rl)->L?(rl)->R:(rl)->L) 
diff --git a/source/blender/draw/engines/lanpr/lanpr_dpix.c b/source/blender/draw/engines/lanpr/lanpr_dpix.c
index 95bb1b98759..7f86f9daaaa 100644
--- a/source/blender/draw/engines/lanpr/lanpr_dpix.c
+++ b/source/blender/draw/engines/lanpr/lanpr_dpix.c
@@ -119,13 +119,13 @@ int lanpr_feed_atlas_data_obj(void *vedata,
                               float *AtlasPointsL, float *AtlasPointsR,
                               float *AtlasFaceNormalL, float *AtlasFaceNormalR,
                               float *AtlasEdgeMask,
-                              Object *ob, int BeginIndex) {
+                              Object *ob, int begin_index) {
 	LANPR_StorageList *stl = ((LANPR_Data *)vedata)->stl;
 
-	if (!DRW_object_is_renderable(ob)) return BeginIndex;
+	if (!DRW_object_is_renderable(ob)) return begin_index;
 	const DRWContextState *draw_ctx = DRW_context_state_get();
-	if (ob == draw_ctx->object_edit) return BeginIndex;
-	if (ob->type != OB_MESH) return BeginIndex;
+	if (ob == draw_ctx->object_edit) return begin_index;
+	if (ob->type != OB_MESH) return begin_index;
 
 	Mesh *me = ob->data;
 	BMesh *bm;
@@ -159,7 +159,7 @@ int lanpr_feed_atlas_data_obj(void *vedata,
 		if (l1) f1 = l1->f;
 		if (l2) f2 = l2->f;
 
-		idx = (BeginIndex + i) * 4;
+		idx = (begin_index + i) * 4;
 
 		AtlasPointsL[idx + 0] = v1->co[0];
 		AtlasPointsL[idx + 1] = v1->co[1];
@@ -209,14 +209,14 @@ int lanpr_feed_atlas_data_obj(void *vedata,
 
 	BM_mesh_free(bm);
 
-	return BeginIndex + edge_count;
+	return begin_index + edge_count;
 }
 
 int lanpr_feed_atlas_data_intersection_cache(void *vedata,
                                              float *AtlasPointsL, float *AtlasPointsR,
                                              float *AtlasFaceNormalL, float *AtlasFaceNormalR,
                                              float *AtlasEdgeMask,
-                                             int BeginIndex) {
+                                             int begin_index) {
 	LANPR_StorageList *stl = ((LANPR_Data *)vedata)->stl;
 	LANPR_PrivateData *pd = stl->g_data;
 	const DRWContextState *draw_ctx = DRW_context_state_get();
@@ -233,7 +233,7 @@ int lanpr_feed_atlas_data_intersection_cache(void *vedata,
 	for (lip = rb->IntersectionLines.pFirst; lip; lip = lip->pNext) {
 		rl = lip->p;
 
-		idx = (BeginIndex + i) * 4;
+		idx = (begin_index + i) * 4;
 		AtlasEdgeMask[idx + 2] = 1; // channel B
 
 		AtlasPointsL[idx + 0] = rl->L->GLocation[0];
@@ -259,7 +259,7 @@ int lanpr_feed_atlas_data_intersection_cache(void *vedata,
 		i++;
 	}
 
-	return BeginIndex + i;
+	return begin_index + i;
 }
 
 void lanpr_dpix_index_to_coord(int index, float *x, float *y){
@@ -272,11 +272,11 @@ void lanpr_dpix_index_to_coord_absolute(int index, float *x, float *y){
 	(*y) = (float)(index / TNS_DPIX_TEXTURE_SIZE) + 0.5;
 }
 
-int lanpr_feed_atlas_trigger_preview_obj(void *vedata, Object *ob, int BeginIndex) {
+int lanpr_feed_atlas_trigger_preview_obj(void *vedata, Object *ob, int begin_index) {
 	LANPR_StorageList *stl = ((LANPR_Data *)vedata)->stl;
 	LANPR_Pr

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list