diff options
| author | Ray <raysan5@gmail.com> | 2015-09-03 01:49:58 +0200 |
|---|---|---|
| committer | Ray <raysan5@gmail.com> | 2015-09-03 01:49:58 +0200 |
| commit | 77558eec0caf0736fa36c96b5807d928317d3dd7 (patch) | |
| tree | 860d9e77d27729fa2572aa8207d77f8def083ccd /examples/resources/shaders/swirl.fs | |
| parent | 858ccb350dab317483bf58a5852f88df0a49a7b2 (diff) | |
| parent | d05acb1b6878b101ecbde0aeb3aa1bcf80b960af (diff) | |
| download | raylib-1.3.0.tar.gz raylib-1.3.0.zip | |
Merge pull request #28 from raysan5/develop1.3.0-installer1.3.0
Integrating Develop branch
Diffstat (limited to 'examples/resources/shaders/swirl.fs')
| -rw-r--r-- | examples/resources/shaders/swirl.fs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/examples/resources/shaders/swirl.fs b/examples/resources/shaders/swirl.fs new file mode 100644 index 00000000..ba26cc05 --- /dev/null +++ b/examples/resources/shaders/swirl.fs @@ -0,0 +1,41 @@ +#version 330 + +in vec2 fragTexCoord; + +out vec4 fragColor; + +uniform sampler2D texture0; +uniform vec4 tintColor; + +// NOTE: Add here your custom variables + +const float renderWidth = 800; // HARDCODED for example! +const float renderHeight = 480; // Use uniforms instead... + +float radius = 250.0; +float angle = 0.8; + +uniform vec2 center = vec2(200, 200); + +void main (void) +{ + vec2 texSize = vec2(renderWidth, renderHeight); + vec2 tc = fragTexCoord*texSize; + tc -= center; + float dist = length(tc); + + if (dist < radius) + { + float percent = (radius - dist)/radius; + float theta = percent*percent*angle*8.0; + float s = sin(theta); + float c = cos(theta); + + tc = vec2(dot(tc, vec2(c, -s)), dot(tc, vec2(s, c))); + } + + tc += center; + vec3 color = texture2D(texture0, tc/texSize).rgb; + + fragColor = vec4(color, 1.0);; +}
\ No newline at end of file |
