dolphin/Data/Sys/Shaders/stereoscopic.glsl

32 lines
647 B
Plaintext
Raw Normal View History

2011-01-30 17:08:06 -07:00
// Omega's 3D Stereoscopic filtering
// TODO: Need depth info!
2013-03-07 11:51:57 -07:00
uniform sampler2D samp9;
2011-01-30 17:08:06 -07:00
2013-03-07 11:51:57 -07:00
out vec4 ocol0;
in vec2 uv0;
uniform vec4 resolution;
void main()
2011-01-30 17:08:06 -07:00
{
2013-03-07 11:51:57 -07:00
float4 c0 = texture(samp9, uv0).rgba; // Source Color
2011-01-30 17:08:06 -07:00
float sep = 5;
float red = c0.r;
float green = c0.g;
float blue = c0.b;
2011-06-18 09:14:57 -06:00
// Left Eye (Red)
2013-03-07 11:51:57 -07:00
float4 c1 = texture(samp9, uv0 + float2(sep,0)*resolution.zw).rgba;
2011-01-30 17:08:06 -07:00
red = max(c0.r, c1.r);
// Right Eye (Cyan)
2013-03-07 11:51:57 -07:00
float4 c2 = texture(samp9, uv0 + float2(-sep,0)*resolution.zw).rgba;
2011-01-30 17:08:06 -07:00
float cyan = (c2.g + c2.b) / 2;
green = max(c0.g, cyan);
blue = max(c0.b, cyan);
ocol0 = float4(red, green, blue, c0.a);
}