[Bf-blender-cvs] [125abd4] strand_nodes: Fix debug geometry shader for strands.

Lukas Tönne noreply at git.blender.org
Sun Jul 24 09:53:05 CEST 2016


Commit: 125abd4a943e854ae3ab93d54692f4df4a4c5693
Author: Lukas Tönne
Date:   Sun Jul 24 09:31:26 2016 +0200
Branches: strand_nodes
https://developer.blender.org/rB125abd4a943e854ae3ab93d54692f4df4a4c5693

Fix debug geometry shader for strands.

This geometry shader must be used regardless of the "use geometry shader" setting
for the primary shader.

===================================================================

M	source/blender/gpu/intern/gpu_strands_shader.c
M	source/blender/gpu/shaders/gpu_shader_strand_debug_geom.glsl

===================================================================

diff --git a/source/blender/gpu/intern/gpu_strands_shader.c b/source/blender/gpu/intern/gpu_strands_shader.c
index f8fa162..4edea90 100644
--- a/source/blender/gpu/intern/gpu_strands_shader.c
+++ b/source/blender/gpu/intern/gpu_strands_shader.c
@@ -221,7 +221,7 @@ GPUStrandsShader *GPU_strand_shader_create(GPUStrandsShaderParams *params)
 	char *geometry_basecode = use_geometry_shader ? datatoc_gpu_shader_strand_geom_glsl : NULL;
 	char *fragment_basecode = datatoc_gpu_shader_strand_frag_glsl;
 	char *vertex_debug_basecode = datatoc_gpu_shader_strand_debug_vert_glsl;
-	char *geometry_debug_basecode = use_geometry_shader ? datatoc_gpu_shader_strand_debug_geom_glsl : NULL;
+	char *geometry_debug_basecode = datatoc_gpu_shader_strand_debug_geom_glsl;
 	char *fragment_debug_basecode = datatoc_gpu_shader_strand_debug_frag_glsl;
 	
 	char *nodecode;
diff --git a/source/blender/gpu/shaders/gpu_shader_strand_debug_geom.glsl b/source/blender/gpu/shaders/gpu_shader_strand_debug_geom.glsl
index 0829a42..d858c25 100644
--- a/source/blender/gpu/shaders/gpu_shader_strand_debug_geom.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_strand_debug_geom.glsl
@@ -40,7 +40,7 @@ void main()
 
 #if 1
 	emit_vertex(loc, magenta);
-	emit_vertex(loc + vTangent[0] * debug_scale, magenta);
+	emit_vertex(loc + nor * debug_scale, magenta);
 	EndPrimitive();
 #endif
 
@@ -55,32 +55,4 @@ void main()
 	emit_vertex(loc + target_frame[2] * debug_scale, blue);
 	EndPrimitive();
 #endif
-
-	CurlParams params = curl_params(vCurveParam[0], 1.0, target_loc, target_frame);
-	
-#if 0
-	vec3 dcurl = (params.dcurlvec - nor) * params.factor;
-	vec3 dshape = (target_loc + params.curlvec - loc) * params.dfactor;
-	emit_vertex(loc, cyan);
-	emit_vertex(loc + dcurl * debug_scale, cyan);
-	EndPrimitive();
-	emit_vertex(loc, yellow);
-	emit_vertex(loc + dshape * debug_scale, yellow);
-	EndPrimitive();
-
-	emit_vertex(loc, magenta);
-	emit_vertex(loc + (oldnor + dcurl + dshape) * debug_scale, magenta);
-	EndPrimitive();
-#endif
-
-#if 0
-	vec3 dloc = (target_loc + params.curlvec - loc) * params.factor;
-	vec3 nloc = loc + dloc;
-	vec3 dshape = dloc / (vCurveParam[0] * curl_shape);
-	vec3 dtarget = target_frame[2] + params.turns * params.dcurlvec;
-	vec3 nnor = normalize(dshape + mix(oldnor, dtarget, params.factor));
-	emit_vertex(loc, cyan);
-	emit_vertex(loc + nnor * debug_scale, cyan);
-	EndPrimitive();
-#endif
 }




More information about the Bf-blender-cvs mailing list