Otter Example: Shaders
Welcome to shader town! One of the most exciting things about transitioning from flash to SFML was the use of GLSL shaders! Otter supports all the cool shader stuff that SFML does, and this example covers how to apply shaders to an image.
Check out some really quick example shaders being applied to a cool image of an otter.
Shaders are the best!
Check out some really quick example shaders being applied to a cool image of an otter.
uniform sampler2D texture;
void main() {
vec4 pixel = texture2D(texture, gl_TexCoord[0].xy);
float gray = (pixel.r + pixel.g + pixel.b) / 3;
gl_FragColor = vec4(gray, gray, gray, pixel.a) * gl_Color;
}
uniform sampler2D texture;
void main() {
vec4 pixel = texture2D(texture, gl_TexCoord[0].xy);
gl_FragColor = vec4(1 - pixel.r, 1 - pixel.g, 1 - pixel.b, pixel.a) * gl_Color;
}
uniform sampler2D texture;
// A weird way to generate a random number with a vec2 seed I guess.
float rand(vec2 co){
return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);
}
void main() {
vec2 samplePos = gl_TexCoord[0].xy;
samplePos.x += rand(samplePos) * 0.05;
samplePos.y += rand(samplePos) * 0.05;
vec4 pixel = texture2D(texture, samplePos);
gl_FragColor = pixel * gl_Color;
}
No Comments