[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