diff options
author | Travis CI <zmoelnig@travis-ci.umlaeute.mur.at> | 2015-03-14 20:40:49 +0000 |
---|---|---|
committer | Travis CI <zmoelnig@travis-ci.umlaeute.mur.at> | 2015-03-14 20:40:49 +0000 |
commit | 5c694f159b012d1d94bf15bfe580dec52e4fe797 (patch) | |
tree | ce400f82d72f92189c50f54afa11c568cda53562 /Gem/examples/10.glsl/GLSL_mix.frag |
Gem osx/x86_64
built '' for osx/x86_64
Diffstat (limited to 'Gem/examples/10.glsl/GLSL_mix.frag')
-rw-r--r-- | Gem/examples/10.glsl/GLSL_mix.frag | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Gem/examples/10.glsl/GLSL_mix.frag b/Gem/examples/10.glsl/GLSL_mix.frag new file mode 100644 index 0000000..ce47bf8 --- /dev/null +++ b/Gem/examples/10.glsl/GLSL_mix.frag @@ -0,0 +1,35 @@ +//jack/RYBN 2010 +#extension GL_EXT_gpu_shader4 : enable +#extension GL_ARB_texture_rectangle : enable +uniform sampler2DRect Ttex1; +uniform sampler2DRect Ttex2; +uniform sampler2DRect tex0; +uniform float style; +uniform float mix_factor; +varying vec2 texcoord0; +ivec2 size1 = textureSize2DRect(Ttex1, 0); +ivec2 size2 = textureSize2DRect(Ttex2, 0); +ivec2 size0 = textureSize2DRect(tex0, 0); + +void main (void) +{ + float sizeF1X = float(size1.x)/float(size0.x); + float sizeF1Y = float(size1.y)/float(size0.y); + float sizeF2X = float(size2.x)/float(size0.x); + float sizeF2Y = float(size2.y)/float(size0.y); + vec4 color1 = texture2DRect(Ttex1, vec2(texcoord0.s*sizeF1X,texcoord0.t*sizeF1Y)); + vec4 color2 = texture2DRect(Ttex2, vec2(texcoord0.s*sizeF2X,texcoord0.t*sizeF2Y)); + if (style == 0.) { + gl_FragColor = (color1 + color2); + } else if (style == 1.) { + gl_FragColor = (color1 - color2); + } else if (style == 2.) { + gl_FragColor = abs(color1 - color2); + } else if (style == 3.) { + gl_FragColor = (color1 * color2); + } else if (style == 4.) { + gl_FragColor = mix(color1,color2,mix_factor); + } + +} + |