[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