diff options
Diffstat (limited to 'keyshade/bin/data/shader.frag')
| -rw-r--r-- | keyshade/bin/data/shader.frag | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/keyshade/bin/data/shader.frag b/keyshade/bin/data/shader.frag index 7dbf468..560766b 100644 --- a/keyshade/bin/data/shader.frag +++ b/keyshade/bin/data/shader.frag @@ -3,13 +3,15 @@ uniform vec4 keyColour; uniform float keyMinDist; uniform float keyMaxDist; +uniform float time; // these are our textures uniform sampler2DRect backgroundTex; uniform sampler2DRect foregroundTex; // this comes from the vertex shader -in vec2 texCoordVarying; +in vec2 texCoordVarying1; +in vec2 texCoordVarying2; @@ -19,20 +21,13 @@ out vec4 outputColor; void main() { // Get color values from the background and foreground - vec4 back = texture(backgroundTex, texCoordVarying); - vec4 fore = texture(foregroundTex, texCoordVarying); + vec4 back = texture(backgroundTex, (texCoordVarying1 - 0.5) * time + (0.5 * time) ); + vec4 fore = texture(foregroundTex, texCoordVarying1); - // get alpha from mask - float mask = texture(backgroundTex, texCoordVarying).r; - - vec4 delta = back - keyColour; + vec4 delta = fore - keyColour; float distance2 = dot( delta, delta ); - float weight = clamp( (distance2 - keyMinDist) / (keyMaxDist - keyMinDist) ,0.0,1.0); - - //float4 transparent = IN.color; - //transparent.w = 0; - //OUT.color = lerp( transparent, IN.color, weight ); + float weight = clamp( (distance2 - keyMinDist) / (keyMaxDist - keyMinDist), 0.0, 1.0); //mix colors from background and foreground based on the mask value - outputColor = mix(fore , back, weight); + outputColor = mix(back, fore, weight); } |
