Commit: 3ea92772059980627ed820c58502a3b84b1f4cb7
Author: Nick Wu
Date: Fri Jun 29 14:18:11 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB3ea92772059980627ed820c58502a3b84b1f4cb7
removed line styles from SceneLANPR
===================================================================
M release/scripts/startup/bl_ui/properties_scene.py
M source/blender/draw/engines/lanpr/lanpr_dpix.c
M source/blender/draw/engines/lanpr/lanpr_engine.c
M source/blender/makesdna/DNA_scene_types.h
M source/blender/makesrna/intern/rna_scene.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_scene.py
b/release/scripts/startup/bl_ui/properties_scene.py
index 14fbae0ccf4..1eafc10823a 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -529,29 +529,23 @@ class SCENE_PT_lanpr(SceneButtonsPanel, PropertyPanel,
Panel):
if lanpr.master_mode == "DPIX" or lanpr.master_mode == "SOFTWARE":
layout.label(text="DPIX:")
layout.prop(lanpr, "reloaded")
- layout.label(text="Effect Settings:")
-
- split = layout.split()
- col = split.column()
- col.prop(lanpr, "background_color")
- col = split.column()
- col.prop(lanpr, "line_color")
- layout.label(text="Layer Composition:")
- row = layout.row()
+
rows = 4
- layout.template_list("LANPR_linesets", "", lanpr, "layers",
lanpr.layers, "active_layer_index", rows=rows)
- if active_layer:
- split = layout.split()
- col = split.column()
- col.operator("scene.lanpr_add_line_layer")
- col = split.column()
- col.operator("scene.lanpr_rebuild_all_commands")
- else:
- layout.operator("scene.lanpr_add_line_layer")
-
if lanpr.master_mode == "SOFTWARE":
- layout.operator("scene.lanpr_calculate")
+ layout.operator("scene.lanpr_calculate", icon='RENDER_STILL')
+ layout.label(text="Layer Composition:")
+ layout.template_list("LANPR_linesets", "", lanpr, "layers",
lanpr.layers, "active_layer_index", rows=rows)
+ if active_layer:
+ split = layout.split()
+ col = split.column()
+ col.operator("scene.lanpr_add_line_layer")
+ col = split.column()
+ col.operator("scene.lanpr_rebuild_all_commands")
+ else:
+ layout.operator("scene.lanpr_add_line_layer")
+ elif not lanpr.layers.active_layer:
+ layout.operator("scene.lanpr_add_line_layer")
if active_layer:
diff --git a/source/blender/draw/engines/lanpr/lanpr_dpix.c
b/source/blender/draw/engines/lanpr/lanpr_dpix.c
index 10a3fd20486..794f12bc96a 100644
--- a/source/blender/draw/engines/lanpr/lanpr_dpix.c
+++ b/source/blender/draw/engines/lanpr/lanpr_dpix.c
@@ -273,6 +273,8 @@ void lanpr_dpix_draw_scene(LANPR_TextureList *txl,
LANPR_FramebufferList *fbl, L
float clear_depth = 1.0f;
uint clear_stencil = 0xFF;
+ if (!lanpr->active_layer) return; /* return early in case we don't have
line layers. DPIX only use the first layer. */
+
int texw = GPU_texture_width(txl->edge_intermediate), texh =
GPU_texture_height(txl->edge_intermediate);;
int tsize = texw * texh;
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c
b/source/blender/draw/engines/lanpr/lanpr_engine.c
index ab5f9686535..24daeec608f 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -66,25 +66,25 @@ static void lanpr_engine_init(void *ved){
}
if (!OneTime.InitComplete) {
- lanpr->depth_clamp = 0.01;
- lanpr->depth_strength = 800;
- lanpr->normal_clamp = 2;
- lanpr->normal_strength = 10;
- lanpr->line_thickness = 2;
- lanpr->taper_left_distance = 20;
- lanpr->taper_left_strength = 0.9;
- lanpr->taper_right_distance = 20;
- lanpr->taper_right_strength = 0.9;
-
- lanpr->line_color[0] = 0.22;
- lanpr->line_color[1] = 0.29;
- lanpr->line_color[2] = 0.53;
- lanpr->line_color[3] = 1;
-
- lanpr->background_color[0] = 0.59;
- lanpr->background_color[1] = 0.90;
- lanpr->background_color[2] = 0.51;
- lanpr->background_color[3] = 1;
+ //lanpr->depth_clamp = 0.01;
+ //lanpr->depth_strength = 800;
+ //lanpr->normal_clamp = 2;
+ //lanpr->normal_strength = 10;
+ //lanpr->line_thickness = 2;
+ //lanpr->taper_left_distance = 20;
+ //lanpr->taper_left_strength = 0.9;
+ //lanpr->taper_right_distance = 20;
+ //lanpr->taper_right_strength = 0.9;
+
+ //lanpr->line_color[0] = 0.22;
+ //lanpr->line_color[1] = 0.29;
+ //lanpr->line_color[2] = 0.53;
+ //lanpr->line_color[3] = 1;
+
+ //lanpr->background_color[0] = 0.59;
+ //lanpr->background_color[1] = 0.90;
+ //lanpr->background_color[2] = 0.51;
+ //lanpr->background_color[3] = 1;
lanpr->reloaded = 1;
@@ -278,7 +278,8 @@ static void lanpr_cache_init(void *vedata){
DRW_shgroup_call_add(stl->g_data->edge_thinning_shgrp, quad,
NULL);
}
- elif (lanpr->master_mode == LANPR_MASTER_MODE_SNAKE) {
+ elif (lanpr->master_mode == LANPR_MASTER_MODE_SNAKE &&
lanpr->active_layer) {
+ LANPR_LineLayer* ll = lanpr->active_layer;
psl->dpix_transform_pass = DRW_pass_create("DPIX Transform
Stage", DRW_STATE_WRITE_COLOR);
stl->g_data->dpix_transform_shgrp =
DRW_shgroup_create(OneTime.dpix_transform_shader, psl->dpix_transform_pass);
DRW_shgroup_uniform_texture_ref(stl->g_data->dpix_transform_shgrp, "vert0_tex",
&txl->dpix_in_pl);
@@ -292,9 +293,9 @@ static void lanpr_cache_init(void *vedata){
DRW_shgroup_uniform_int(stl->g_data->dpix_transform_shgrp,
"buffer_width", &stl->g_data->dpix_buffer_width, 1);
DRW_shgroup_uniform_float(stl->g_data->dpix_transform_shgrp,
"crease_threshold", &lanpr->crease_threshold, 1);
DRW_shgroup_uniform_float(stl->g_data->dpix_transform_shgrp,
"crease_fade_threshold", &lanpr->crease_fade_threshold, 1);
- DRW_shgroup_uniform_int(stl->g_data->dpix_transform_shgrp,
"enable_crease", &lanpr->enable_crease, 1);
- DRW_shgroup_uniform_int(stl->g_data->dpix_transform_shgrp,
"enable_material", &lanpr->enable_material_seperate, 1);
- DRW_shgroup_uniform_int(stl->g_data->dpix_transform_shgrp,
"enable_edge_mark", &lanpr->enable_edge_mark, 1);
+ DRW_shgroup_uniform_int(stl->g_data->dpix_transform_shgrp,
"enable_crease", &ll->enable_crease, 1);
+ DRW_shgroup_uniform_int(stl->g_data->dpix_transform_shgrp,
"enable_material", &ll->enable_material_seperate, 1);
+ DRW_shgroup_uniform_int(stl->g_data->dpix_transform_shgrp,
"enable_edge_mark", &ll->enable_edge_mark, 1);
psl->dpix_preview_pass = DRW_pass_create("DPIX Preview",
DRW_STATE_WRITE_COLOR | DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_LESS_EQUAL);
stl->g_data->dpix_preview_shgrp =
DRW_shgroup_create(OneTime.dpix_preview_shader, psl->dpix_preview_pass);
@@ -302,21 +303,21 @@ static void lanpr_cache_init(void *vedata){
DRW_shgroup_uniform_texture_ref(stl->g_data->dpix_preview_shgrp, "vert1_tex",
&txl->dpix_out_pr);
DRW_shgroup_uniform_texture_ref(stl->g_data->dpix_preview_shgrp,
"edge_mask_tex", &txl->dpix_in_edge_mask);
DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
"viewport", stl->g_data->dpix_viewport, 1);
- DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
"color", lanpr->line_color, 1);
- DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
"crease_color", lanpr->crease_color, 1);
- DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
"material_color", lanpr->material_color, 1);
- DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
"edge_mark_color", lanpr->edge_mark_color, 1);
+ DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
"color", ll->color, 1);
+ DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
"crease_color", ll->crease_color, 1);
+ DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
"material_color", ll->material_color, 1);
+ DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
"edge_mark_color", ll->edge_mark_color, 1);
DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
"background_color", lanpr->background_color, 1);
- DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
"background_color", lanpr->line_color, 1);
+ //DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp,
"line_color", ll->line_color, 1); //we have color
DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
"depth_offset", &stl->g_data->dpix_depth_offset, 1);
DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
"depth_width_influence", &lanpr->depth_width_influence, 1);
DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
"depth_width_curve", &lanpr->depth_width_curve, 1);
DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
"depth_alpha_influence", &lanpr->depth_alpha_influence, 1);
DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
"depth_alpha_curve", &lanpr->depth_alpha_curve, 1);
- DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
"line_thickness", &lanpr->line_thickness, 1);
- DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
"line_thickness_crease", &lanpr->line_thickness_crease, 1);
- DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
"line_thickness_material", &lanpr->line_thickness_material, 1);
- DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
"line_thickness_edge_mark", &lanpr->line_thickness_edge_mark, 1);
+ 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_crease", &ll->thickness_crease, 1);
+ DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
"line_thickness_material", &ll->thickness_material, 1);
+ DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
"line_thickness_edge_mark", &ll->thickness_edge_mark, 1);
DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
"zNear", &stl->g_data->dpix_znear, 1);
DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
"zFar", &stl->g_data->dpix_zfar, 1);
@@ -373,7 +374,7 @@ static void lanpr_cache_populate(void *vedata, Object *ob){
DRW_shgroup_call_object_add(stl->g_data->multipass_shgrp, geom,
ob);
}
- if (lanpr->master_mode == LANPR_MASTER_MODE_DPIX) {
+ if (lanpr->master_mode == LANPR_MASTER_MODE_DPIX &&
lanpr->active_layer) {
int idx = pd->begin_index;
if (lanpr->reloaded) {
pd->begin_index = lanpr_feed_atlas_data_obj(vedata,
pd->atlas_pl, pd->atlas_pr, pd->atlas_nl, pd->atlas_nr, pd->atlas_edge_mask,
ob, idx);
diff --git a/sour
@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs