[Bf-blender-cvs] [bcc3003cb41] soc-2018-npr: Fixed chained line type display control
Nick Wu
noreply at git.blender.org
Tue Aug 28 12:24:16 CEST 2018
Commit: bcc3003cb41c6992c5e321b8242b209ec082e7be
Author: Nick Wu
Date: Tue Aug 28 18:23:58 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBbcc3003cb41c6992c5e321b8242b209ec082e7be
Fixed chained line type display control
===================================================================
M source/blender/draw/engines/lanpr/lanpr_ops.c
M source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
===================================================================
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 68166cfeeaa..9aa05dd6730 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -3140,6 +3140,11 @@ void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb, int is_render)
DRW_shgroup_uniform_float(rb->ChainShgrp, "thickness_material", &ll->thickness_material, 1);
DRW_shgroup_uniform_float(rb->ChainShgrp, "thickness_edge_mark", &ll->thickness_edge_mark, 1);
DRW_shgroup_uniform_float(rb->ChainShgrp, "thickness_intersection", &ll->thickness_intersection, 1);
+ DRW_shgroup_uniform_int(rb->ChainShgrp, "enable_contour", &ll->enable_contour, 1);
+ DRW_shgroup_uniform_int(rb->ChainShgrp, "enable_crease", &ll->enable_crease, 1);
+ DRW_shgroup_uniform_int(rb->ChainShgrp, "enable_material", &ll->enable_material_seperate, 1);
+ DRW_shgroup_uniform_int(rb->ChainShgrp, "enable_edge_mark", &ll->enable_edge_mark, 1);
+ DRW_shgroup_uniform_int(rb->ChainShgrp, "enable_intersection", &ll->enable_intersection, 1);
DRW_shgroup_uniform_int(rb->ChainShgrp, "normal_mode", &ll->normal_mode, 1);
DRW_shgroup_uniform_int(rb->ChainShgrp, "normal_effect_inverse", &ll->normal_effect_inverse, 1);
diff --git a/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl b/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
index 19272241cdd..65f9b3bf1c8 100644
--- a/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
+++ b/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
@@ -20,6 +20,12 @@ uniform float thickness_material;
uniform float thickness_edge_mark;
uniform float thickness_intersection;
+uniform int enable_contour;
+uniform int enable_crease;
+uniform int enable_material;
+uniform int enable_edge_mark;
+uniform int enable_intersection;
+
uniform int occlusion_level_begin;
uniform int occlusion_level_end;
@@ -170,11 +176,11 @@ void decide_line_style(int component_id){
th = factor_to_thickness(factor);
}
- if (component_id == 0) { out_color = color; use_thickness = th; return; }
- if (component_id == 1) { out_color = crease_color; use_thickness = th * thickness_crease; return; }
- if (component_id == 2) { out_color = material_color; use_thickness = th * thickness_material; return; }
- if (component_id == 3) { out_color = edge_mark_color; use_thickness = th * thickness_edge_mark; return; }
- if (component_id == 4) { out_color = intersection_color; use_thickness = th * thickness_intersection; return; }
+ if (component_id == 0) { out_color = color; use_thickness = th * enable_contour; return; }
+ if (component_id == 1) { out_color = crease_color; use_thickness = th * thickness_crease * enable_crease; return; }
+ if (component_id == 2) { out_color = material_color; use_thickness = th * thickness_material * enable_material; return; }
+ if (component_id == 3) { out_color = edge_mark_color; use_thickness = th * thickness_edge_mark * enable_edge_mark; return; }
+ if (component_id == 4) { out_color = intersection_color; use_thickness = th * thickness_intersection * enable_intersection; return; }
}
void main() {
More information about the Bf-blender-cvs
mailing list