2011-01-31 00:08:06 +00:00
|
|
|
// Omega's 3D Stereoscopic filtering (Amber/Blue)
|
|
|
|
// TODO: Need depth info!
|
|
|
|
|
2013-03-07 18:51:57 +00:00
|
|
|
void main()
|
2011-01-31 00:08:06 +00:00
|
|
|
{
|
2014-05-21 04:00:50 +00:00
|
|
|
// Source Color
|
2014-07-29 17:08:57 +00:00
|
|
|
float4 c0 = Sample();
|
2014-05-21 04:00:50 +00:00
|
|
|
float sep = 5.0;
|
|
|
|
float red = c0.r;
|
|
|
|
float green = c0.g;
|
|
|
|
float blue = c0.b;
|
2011-01-31 00:08:06 +00:00
|
|
|
|
2014-05-21 04:00:50 +00:00
|
|
|
// Left Eye (Amber)
|
2014-07-29 17:08:57 +00:00
|
|
|
float4 c2 = SampleLocation(GetCoordinates() + float2(sep,0.0)*GetInvResolution()).rgba;
|
2014-05-21 04:00:50 +00:00
|
|
|
float amber = (c2.r + c2.g) / 2.0;
|
|
|
|
red = max(c0.r, amber);
|
|
|
|
green = max(c0.g, amber);
|
2011-01-31 00:08:06 +00:00
|
|
|
|
2014-05-21 04:00:50 +00:00
|
|
|
// Right Eye (Blue)
|
2014-07-29 17:08:57 +00:00
|
|
|
float4 c1 = SampleLocation(GetCoordinates() + float2(-sep,0.0)*GetInvResolution()).rgba;
|
2014-05-21 04:00:50 +00:00
|
|
|
blue = max(c0.b, c1.b);
|
2011-01-31 00:08:06 +00:00
|
|
|
|
2014-07-29 17:08:57 +00:00
|
|
|
SetOutput(float4(red, green, blue, c0.a));
|
2014-05-05 20:59:49 +00:00
|
|
|
}
|