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() { _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs