View Full Version : Obtaining window coordinates in fragment shader

12-04-2012, 11:18 PM
Hello All,

i tried obtaining the window coordinates in my fragment shader. So, this is my approach:

In the vertex shader:

varying vec2 my_fragCoord; my_fragCoord = (gl_ModelViewProjectionMatrix * gl_Vertex).xy; // getting clip coordinates.
my_fragCoord /= w; // Do perspective divide

1) And, now in the fragment shader, i scale appropriately by the window size. Is this the right way to do it? Or is there a better way
to achieve the same?


12-04-2012, 11:50 PM
No, it is not the right way. Just use the built-in variable gl_FragCoord in a fragment shader.

12-05-2012, 12:41 AM
To elaborate on Aleksandar's suggestion: What you did is not obtain the window coordinates but the normalized device coordinates which are in [-1, 1] for x,y and z. Taking into accunt the current viewport, window coordinates can be computed using the formulae found here (http://www.opengl.org/wiki/GLAPI/glViewport). Again, this is just for completeness. You can just as easily follow Aleksander's advice.