diff options
Diffstat (limited to 'assets/shaders/radialGradient.frag.glsl')
-rw-r--r-- | assets/shaders/radialGradient.frag.glsl | 93 |
1 files changed, 47 insertions, 46 deletions
diff --git a/assets/shaders/radialGradient.frag.glsl b/assets/shaders/radialGradient.frag.glsl index 1544e457..918986ee 100644 --- a/assets/shaders/radialGradient.frag.glsl +++ b/assets/shaders/radialGradient.frag.glsl | |||
@@ -1,24 +1,25 @@ | |||
1 | /* <copyright> | 1 | /* <copyright> |
2 | Copyright (c) 2012, Motorola Mobility, Inc | 2 | Copyright (c) 2012, Motorola Mobility LLC. |
3 | All Rights Reserved. | 3 | All Rights Reserved. |
4 | BSD License. | ||
5 | 4 | ||
6 | Redistribution and use in source and binary forms, with or without | 5 | Redistribution and use in source and binary forms, with or without |
7 | modification, are permitted provided that the following conditions are met: | 6 | modification, are permitted provided that the following conditions are met: |
8 | 7 | ||
9 | - Redistributions of source code must retain the above copyright notice, | 8 | * Redistributions of source code must retain the above copyright notice, |
10 | this list of conditions and the following disclaimer. | 9 | this list of conditions and the following disclaimer. |
11 | - Redistributions in binary form must reproduce the above copyright | 10 | |
12 | notice, this list of conditions and the following disclaimer in the | 11 | * Redistributions in binary form must reproduce the above copyright notice, |
13 | documentation and/or other materials provided with the distribution. | 12 | this list of conditions and the following disclaimer in the documentation |
14 | - Neither the name of Motorola Mobility nor the names of its contributors | 13 | and/or other materials provided with the distribution. |
15 | may be used to endorse or promote products derived from this software | 14 | |
16 | without specific prior written permission. | 15 | * Neither the name of Motorola Mobility LLC nor the names of its |
16 | contributors may be used to endorse or promote products derived from this | ||
17 | software without specific prior written permission. | ||
17 | 18 | ||
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
21 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | 22 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 23 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 24 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 25 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
@@ -32,44 +33,44 @@ POSSIBILITY OF SUCH DAMAGE. | |||
32 | precision highp float; | 33 | precision highp float; |
33 | #endif | 34 | #endif |
34 | 35 | ||
35 | uniform vec4 u_color1; | 36 | uniform vec4 u_color1; |
36 | uniform vec4 u_color2; | 37 | uniform vec4 u_color2; |
37 | uniform vec4 u_color3; | 38 | uniform vec4 u_color3; |
38 | uniform vec4 u_color4; | 39 | uniform vec4 u_color4; |
39 | uniform float u_colorStop1; | 40 | uniform float u_colorStop1; |
40 | uniform float u_colorStop2; | 41 | uniform float u_colorStop2; |
41 | uniform float u_colorStop3; | 42 | uniform float u_colorStop3; |
42 | uniform float u_colorStop4; | 43 | uniform float u_colorStop4; |
43 | uniform vec2 u_cos_sin_angle; | 44 | uniform vec2 u_cos_sin_angle; |
44 | //uniform int u_colorCount; // currently using all 4 | 45 | //uniform int u_colorCount; // currently using all 4 |
45 | 46 | ||
46 | varying vec2 v_uv; | 47 | varying vec2 v_uv; |
47 | 48 | ||
48 | void main(void) | 49 | void main(void) |
49 | { | 50 | { |
50 | vec2 pt = vec2( v_uv.x - 0.5, v_uv.y - 0.5); | 51 | vec2 pt = vec2( v_uv.x - 0.5, v_uv.y - 0.5); |
51 | float t = sqrt( dot(pt, pt) ); | 52 | float t = sqrt( dot(pt, pt) ); |
52 | 53 | ||
53 | vec4 color; | 54 | vec4 color; |
54 | if (t < u_colorStop1) | 55 | if (t < u_colorStop1) |
55 | color = u_color1; | 56 | color = u_color1; |
56 | else if (t < u_colorStop2) | 57 | else if (t < u_colorStop2) |
57 | { | 58 | { |
58 | float tLocal = (t - u_colorStop1)/(u_colorStop2 - u_colorStop1); | 59 | float tLocal = (t - u_colorStop1)/(u_colorStop2 - u_colorStop1); |
59 | color = mix(u_color1,u_color2,tLocal); | 60 | color = mix(u_color1,u_color2,tLocal); |
60 | } | 61 | } |
61 | else if (t < u_colorStop3) | 62 | else if (t < u_colorStop3) |
62 | { | 63 | { |
63 | float tLocal = (t - u_colorStop2)/(u_colorStop3 - u_colorStop2); | 64 | float tLocal = (t - u_colorStop2)/(u_colorStop3 - u_colorStop2); |
64 | color = mix(u_color2,u_color3,tLocal); | 65 | color = mix(u_color2,u_color3,tLocal); |
65 | } | 66 | } |
66 | else if (t < u_colorStop4) | 67 | else if (t < u_colorStop4) |
67 | { | 68 | { |
68 | float tLocal = (t - u_colorStop3)/(u_colorStop4 - u_colorStop3); | 69 | float tLocal = (t - u_colorStop3)/(u_colorStop4 - u_colorStop3); |
69 | color = mix(u_color3,u_color4,tLocal); | 70 | color = mix(u_color3,u_color4,tLocal); |
70 | } | 71 | } |
71 | else | 72 | else |
72 | color = u_color4; | 73 | color = u_color4; |
73 | 74 | ||
74 | gl_FragColor = color; | 75 | gl_FragColor = color; |
75 | } | 76 | } |