[Bf-blender-cvs] [e2cc428686d] soc-2019-npr: LANPR: Fixed GPU mode bug: contour is always on.
YimingWu
noreply at git.blender.org
Fri Jul 5 04:45:10 CEST 2019
Commit: e2cc428686df5589eecf944ee59cf8e73c99764c
Author: YimingWu
Date: Fri Jul 5 10:44:56 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rBe2cc428686df5589eecf944ee59cf8e73c99764c
LANPR: Fixed GPU mode
bug: contour is always on.
===================================================================
M release/scripts/startup/bl_ui/properties_render.py
M source/blender/draw/engines/lanpr/lanpr_engine.c
M source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index a64908c2417..fd40b549663 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -748,7 +748,7 @@ class RENDER_PT_lanpr(RenderButtonsPanel, Panel):
return;
if mode == "DPIX" and lanpr.shader_error:
- layout.label(text="DPIX transfor shader compile error!")
+ layout.label(text="DPIX transform shader compile error!")
return;
if mode == "SOFTWARE" or mode == "DPIX":
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c b/source/blender/draw/engines/lanpr/lanpr_engine.c
index 564915ecce1..3df81b6b362 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -292,6 +292,8 @@ static void lanpr_cache_init(void *vedata)
"crease_fade_threshold",
&lanpr->crease_fade_threshold,
1);
+ DRW_shgroup_uniform_int(
+ stl->g_data->dpix_transform_shgrp, "enable_contour", &ll->enable_contour, 1);
DRW_shgroup_uniform_int(
stl->g_data->dpix_transform_shgrp, "enable_crease", &ll->enable_crease, 1);
DRW_shgroup_uniform_int(
diff --git a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
index 9015a908f4d..78f625c4a92 100644
--- a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
+++ b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
@@ -4,6 +4,7 @@ uniform mat4 ViewMatrixInverse;
uniform mat4 ProjectionMatrix;
uniform mat4 ProjectionMatrixInverse;
+uniform int enable_contour;
uniform int enable_crease;
uniform int enable_material;
uniform int enable_edge_mark;
@@ -334,7 +335,8 @@ int testProfileEdge(ivec2 texcoord, vec3 world_position)
float dot2 = dot(normalize(vec3(face_normal_0.xyz)), normalize(vec3(face_normal_1.xyz)));
bool contour = (dot0 >= 0.0 && dot1 <= 0.0) || (dot0 <= 0.0 && dot1 >= 0.0);
- is_crease = ((!contour) && ((dot2 < crease_threshold) || (dot2 < crease_fade_threshold))) ? 1 :
+
+ is_crease = (((enable_contour>0 && !contour)||enable_contour==0) && ((dot2 < crease_threshold) || (dot2 < crease_fade_threshold))) ? 1 :
0;
crease_strength = (is_crease > 0 && dot2 > crease_threshold) ?
@@ -343,9 +345,9 @@ int testProfileEdge(ivec2 texcoord, vec3 world_position)
0;
// use 0 to 0.5 to repesent the range, because 1 will represent another meaning
- if (contour)
+ if (enable_contour>0 && contour)
return 1;
- else if (((enable_crease > 0) && (is_crease > 0)) ||
+ if (((enable_crease > 0) && (is_crease > 0)) ||
((enable_material > 0) && (edge_mask.r > 0)) ||
((enable_edge_mark > 0) && (edge_mask.g > 0)) ||
((enable_intersection > 0) && (edge_mask.b > 0)) || false)
More information about the Bf-blender-cvs
mailing list