diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-09-02 13:58:38 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-09-02 13:58:38 +0400 |
commit | d4fe34b1c0db76faeee16b45153e7ddcd378f068 (patch) | |
tree | 1a3d5b3844afa5edcdc2a8bbf392b735c229c23b /source/blender/gpu | |
parent | ac1ddb6e645477fe70218d3c850c34041708bdc4 (diff) |
A bit of a code cleanup in GLSL shader
Diffstat (limited to 'source/blender/gpu')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_material.glsl | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl index 03ec3214bf2..3ba36c11311 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); |