[Bf-blender-cvs] [ac1ddb6] master: Support window coordinates in cycles nodes.
Antony Riakiotakis
noreply at git.blender.org
Tue Sep 2 11:49:26 CEST 2014
Commit: ac1ddb6e645477fe70218d3c850c34041708bdc4
Author: Antony Riakiotakis
Date: Tue Sep 2 11:49:14 2014 +0200
Branches: master
https://developer.blender.org/rBac1ddb6e645477fe70218d3c850c34041708bdc4
Support window coordinates in cycles nodes.
===================================================================
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 a60421a..03ec321 100644
--- a/source/blender/gpu/shaders/gpu_shader_material.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_material.glsl
@@ -2317,12 +2317,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, 0.5, 0.5);
+ generated = attr_orco * 0.5 + vec3(0.5);
normal = normalize((obinvmat*(viewinvmat*vec4(N, 0.0))).xyz);
uv = attr_uv;
object = (obinvmat*(viewinvmat*vec4(I, 1.0))).xyz;
camera = I;
- window = gl_FragCoord.xyz;
+ vec4 projvec = gl_ProjectionMatrix * vec4(I, 1.0);
+ window = (projvec.xyz/projvec.w)*0.5 + vec3(0.5);
vec3 shade_I;
shade_view(I, shade_I);
More information about the Bf-blender-cvs
mailing list