[Bf-blender-cvs] [3ea92772059] soc-2018-npr: removed line styles from SceneLANPR
Nick Wu
noreply at git.blender.org
Sun Jul 1 03:58:48 CEST 2018
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. @@
More information about the Bf-blender-cvs
mailing list