26 lines
597 B
GLSL
26 lines
597 B
GLSL
// vert //
|
|
|
|
void main(void) {
|
|
qgl_FragTexture = qgl_Texture;
|
|
gl_Position = qgl_ftransform();
|
|
}
|
|
|
|
|
|
// frag //
|
|
|
|
uniform sampler2D fb_out, fb_hover, fb_select;
|
|
|
|
void main(void) {
|
|
ivec2 tc = ivec2(gl_FragCoord.xy);
|
|
vec2 stc = qgl_FragTexture.xy;
|
|
vec4 src = texelFetch(fb_out , tc, 0);
|
|
vec4 hov = texture(fb_hover , stc);
|
|
vec4 sel = texture(fb_select, stc);
|
|
src.rgb = clamp(src.rgb, vec3(0), vec3(1));
|
|
src.rgb = mix(src.rgb, sel.rgb, sel.a);
|
|
src.rgb = mix(src.rgb, hov.rgb, hov.a * 0.667f);
|
|
//src.rgb = src.rgb + (sel.rgb*sel.a);
|
|
qgl_FragData[0] = src;
|
|
//qgl_FragData[0] = vec4(sel.a);
|
|
}
|