[Bf-blender-cvs] [546d12c] strand_nodes: Fallback displacement function for the strands shader if no nodetree is available.

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


Commit: 546d12cee1b46de6648c6453406925153a7e4ca8
Author: Lukas Tönne
Date:   Sun Jul 24 09:23:32 2016 +0200
Branches: strand_nodes
https://developer.blender.org/rB546d12cee1b46de6648c6453406925153a7e4ca8

Fallback displacement function for the strands shader if no nodetree is available.

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

M	source/blender/gpu/intern/gpu_strands_shader.c

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

diff --git a/source/blender/gpu/intern/gpu_strands_shader.c b/source/blender/gpu/intern/gpu_strands_shader.c
index 77e244a..f8fa162 100644
--- a/source/blender/gpu/intern/gpu_strands_shader.c
+++ b/source/blender/gpu/intern/gpu_strands_shader.c
@@ -224,10 +224,19 @@ GPUStrandsShader *GPU_strand_shader_create(GPUStrandsShaderParams *params)
 	char *geometry_debug_basecode = use_geometry_shader ? datatoc_gpu_shader_strand_debug_geom_glsl : NULL;
 	char *fragment_debug_basecode = datatoc_gpu_shader_strand_debug_frag_glsl;
 	
-	char *nodecode = NULL;
+	char *nodecode;
 	if (params->nodes) {
 		nodecode = BVM_gen_hair_deform_function_glsl(params->nodes, "displace_vertex");
 	}
+	else {
+		nodecode = BLI_strdup("\n"
+		                      "void displace_vertex(in vec3 location_V, in vec3 location_DX, in vec3 location_DY,"
+		                      "                     in float parameter_V, in float parameter_DX, in float parameter_DY,"
+		                      "                     in float curvelength_V, in float curvelength_DX, in float curvelength_DY,"
+		                      "                     in mat4 target,"
+		                      "                     out vec3 offset_V, out vec3 offset_DX, out vec3 offset_DY)"
+		                      "{ offset_V = vec3(0.0); offset_DX = vec3(0.0); offset_DY = vec3(0.0); }\n");
+	}
 	
 	GPUStrandsShader *gpu_shader = MEM_callocN(sizeof(GPUStrandsShader), "GPUStrands");




More information about the Bf-blender-cvs mailing list