[Bf-blender-cvs] [d4fe34b] master: A bit of a code cleanup in GLSL shader

Sergey Sharybin noreply at git.blender.org
Tue Sep 2 11:59:06 CEST 2014


Commit: d4fe34b1c0db76faeee16b45153e7ddcd378f068
Author: Sergey Sharybin
Date:   Tue Sep 2 15:58:38 2014 +0600
Branches: master
https://developer.blender.org/rBd4fe34b1c0db76faeee16b45153e7ddcd378f068

A bit of a code cleanup in GLSL shader

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

M	source/blender/gpu/shaders/gpu_shader_material.glsl

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

diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl
index 03ec321..3ba36c1 100644
--- a/source/blender/gpu/shaders/gpu_shader_material.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_material.glsl
@@ -1211,7 +1211,12 @@ void mtex_mapping_size(vec3 texco, vec3 size, out vec3 outtexco)
 
 void mtex_2d_mapping(vec3 vec, out vec3 outvec)
 {
-	outvec = vec3(vec.xy*0.5 + vec2(0.5, 0.5), vec.z);
+	outvec = vec3(vec.xy*0.5 + vec2(0.5), vec.z);
+}
+
+vec3 mtex_2d_mapping(vec3 vec)
+{
+	return vec3(vec.xy*0.5 + vec2(0.5), vec.z);
 }
 
 void mtex_image(vec3 texco, sampler2D ima, out float value, out vec4 color)
@@ -2317,13 +2322,13 @@ void node_tex_coord(vec3 I, vec3 N, mat4 viewinvmat, mat4 obinvmat,
 	out vec3 generated, out vec3 normal, out vec3 uv, out vec3 object,
 	out vec3 camera, out vec3 window, out vec3 reflection)
 {
-	generated = attr_orco * 0.5 + vec3(0.5);
+	generated = mtex_2d_mapping(attr_orco);
 	normal = normalize((obinvmat*(viewinvmat*vec4(N, 0.0))).xyz);
 	uv = attr_uv;
 	object = (obinvmat*(viewinvmat*vec4(I, 1.0))).xyz;
 	camera = I;
-        vec4 projvec = gl_ProjectionMatrix * vec4(I, 1.0);
-	window = (projvec.xyz/projvec.w)*0.5 + vec3(0.5);
+	vec4 projvec = gl_ProjectionMatrix * vec4(I, 1.0);
+	window = mtex_2d_mapping(projvec.xyz/projvec.w);
 
 	vec3 shade_I;
 	shade_view(I, shade_I);




More information about the Bf-blender-cvs mailing list