0 true #version 150 //OVE shader_name: wave //OVE shader_description: ported from Olive 0.1 filters //OVE main_input_name: Input uniform sampler2D tex_in; //OVE name: frequency //OVE type: FLOAT //OVE flag: NOT_CONNECTABLE //OVE min: 0 //OVE default: 10 //OVE description: uniform float frequency; //OVE name: intensity //OVE type: FLOAT //OVE flag: NOT_CONNECTABLE //OVE min: 0 //OVE default: 10 //OVE description: uniform float intensity; //OVE name: evolution //OVE type: FLOAT //OVE default: 0 //OVE description: to be manually animated uniform float evolution; //OVE name: vertical //OVE type: BOOLEAN //OVE flag: NOT_CONNECTABLE //OVE default: false //OVE description: uniform bool vertical; //OVE end // pixel coordinates in range [0..1]x[0..1] in vec2 ove_texcoord; // output color out vec4 frag_color; void main(void) { float x = ove_texcoord.x; float y = ove_texcoord.y; if (vertical) { x -= sin((ove_texcoord.y-(evolution*0.01))*frequency)*intensity*0.01; } else { y -= sin((ove_texcoord.x-(evolution*0.01))*frequency)*intensity*0.01; } if (y < 0.0 || y > 1.0 || x < 0.0 || x > 1.0) { discard; } else { vec4 textureColor = texture(tex_in, vec2(x, y)); frag_color = vec4( textureColor.r, textureColor.g, textureColor.b, textureColor.a ); } } None 0 10 0 10 1 0 0 50 0 false 2045714939312 -1 -1 -1 -1 {114bacfc-96b2-4738-8074-4390bbdc9b71} {9b0707c3-5c71-4cab-aa76-ee5e663a000f} 1 -1.77976 0.0350877