add more spacing
[personal-kdebase.git] / workspace / kwin / effects / data / snow.vert
blob48cb854335f9dbe95e20e036c194d4db34ca985d
1 /********************************************************************
2  KWin - the KDE window manager
3  This file is part of the KDE project.
5  Copyright (C) 2008 Martin Gräßlin <ubuntu@martin-graesslin.com>
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 *********************************************************************/
20 uniform float angle;
21 uniform int x;
22 uniform int width;
23 uniform int height;
24 varying float discarding;
25 uniform int hSpeed;
26 uniform int vSpeed;
27 uniform int frames;
29 void main()
31     gl_TexCoord[0]  = gl_MultiTexCoord0;
32     float radian = radians( angle*float(frames) );
33     mat2 rotation = mat2( cos(radian), sin(radian), -sin(radian), cos(radian) );
34     float xCoord;
35     float yCoord;
36     if( gl_MultiTexCoord0.s == 0.0 )
37         xCoord =  -float(width)*0.5;
38     else
39         xCoord = float(width)*0.5;
40     if( gl_MultiTexCoord0.t == 0.0 )
41         yCoord =  -float(height)*0.5;
42     else
43         yCoord = float(height)*0.5;
44     vec2 vertex = vec2( xCoord, yCoord );
45     vertex = (vertex)*rotation + vec2( float(x), 0.0 ) + vec2(hSpeed, vSpeed)*float(frames);
46     gl_Position = gl_ModelViewProjectionMatrix * vec4(vertex, gl_Vertex.zw);