lms-video/Gem/examples/10.glsl/GLSL_mix.frag
Santi Noreña e85d191b46 - Reestructuración de ficheros y directorios general
- merge v0.01 --> Añadido fileselector
- Añadidas fuentes de Gem y Pure Data
- pix2jpg incluído en Gem. Archivos de construcción de Gem modificados.
- Añadido fichero ompiling.txt con instrucciones de compilación
2013-02-04 18:00:17 +01:00

35 lines
1.1 KiB
GLSL

//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);
}
}