Romain Guy | f9764a4 | 2010-07-16 23:13:33 -0700 | [diff] [blame] | 1 | SHADER_SOURCE(gDrawLinearGradientVertexShader, |
| 2 | |
| 3 | attribute vec4 position; |
| 4 | |
Romain Guy | ac670c0 | 2010-07-27 17:39:27 -0700 | [diff] [blame^] | 5 | uniform mat4 transform; |
Romain Guy | f9764a4 | 2010-07-16 23:13:33 -0700 | [diff] [blame] | 6 | uniform float gradientLength; |
| 7 | uniform vec2 gradient; |
Romain Guy | c0ac193 | 2010-07-19 18:43:02 -0700 | [diff] [blame] | 8 | uniform vec2 start; |
Romain Guy | c0ac193 | 2010-07-19 18:43:02 -0700 | [diff] [blame] | 9 | uniform mat4 screenSpace; |
Romain Guy | f9764a4 | 2010-07-16 23:13:33 -0700 | [diff] [blame] | 10 | |
| 11 | varying float index; |
| 12 | |
| 13 | void main(void) { |
Romain Guy | c0ac193 | 2010-07-19 18:43:02 -0700 | [diff] [blame] | 14 | vec4 location = screenSpace * position; |
| 15 | index = dot(location.xy - start, gradient) * gradientLength; |
| 16 | |
Romain Guy | f9764a4 | 2010-07-16 23:13:33 -0700 | [diff] [blame] | 17 | gl_Position = transform * position; |
Romain Guy | f9764a4 | 2010-07-16 23:13:33 -0700 | [diff] [blame] | 18 | } |
| 19 | |
| 20 | ); |