Set svn:eol-style native.

This commit is contained in:
Soren Jorvang 2011-01-31 00:08:06 +00:00
parent f8c01efece
commit 4b68a543ba
40 changed files with 826 additions and 826 deletions

View File

@ -1,15 +1,15 @@
//dummy shader: //dummy shader:
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
ocol0 = float4(c0.r, c0.g, c0.b, c0.a); ocol0 = float4(c0.r, c0.g, c0.b, c0.a);
} }
/* /*
And now that's over with, the contents of this readme file! And now that's over with, the contents of this readme file!
For best results, turn Wordwrap formatting on... For best results, turn Wordwrap formatting on...
The shaders shown in the dropdown box in the video plugin configuration window are kept in the directory named User/Data/Shaders. They are linked in to the dolphin source from the repository at <http://dolphin-shaders-database.googlecode.com/svn/trunk/>. See <http://code.google.com/p/dolphin-shaders-database/wiki/Documentation> for more details on the way shaders work. The shaders shown in the dropdown box in the video plugin configuration window are kept in the directory named User/Data/Shaders. They are linked in to the dolphin source from the repository at <http://dolphin-shaders-database.googlecode.com/svn/trunk/>. See <http://code.google.com/p/dolphin-shaders-database/wiki/Documentation> for more details on the way shaders work.
This file will hopefully hold more content in future... This file will hopefully hold more content in future...
*/ */

View File

@ -1,18 +1,18 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float red = 0.0; float red = 0.0;
float blue = 0.0; float blue = 0.0;
if (c0.r > 0.15 && c0.b > 0.15) if (c0.r > 0.15 && c0.b > 0.15)
{ {
blue = 0.5; blue = 0.5;
red = 0.5; red = 0.5;
} }
float green = max(c0.r + c0.b, c0.g); float green = max(c0.r + c0.b, c0.g);
ocol0 = float4(red, green, blue, 1.0); ocol0 = float4(red, green, blue, 1.0);
} }

View File

@ -1,6 +1,6 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
ocol0 = (texRECT(samp0, uv0+1).rgba - texRECT(samp0, uv0-1).rgba)*8; ocol0 = (texRECT(samp0, uv0+1).rgba - texRECT(samp0, uv0-1).rgba)*8;
} }

View File

@ -1,6 +1,6 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
ocol0 = texRECT(samp0, uv0+1).rgba * 1.3 * abs(texRECT(samp0, uv0+1).rgba - texRECT(samp0, uv0-1).rgba)*8; ocol0 = texRECT(samp0, uv0+1).rgba * 1.3 * abs(texRECT(samp0, uv0+1).rgba - texRECT(samp0, uv0-1).rgba)*8;
} }

View File

@ -1,16 +1,16 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 to_gray = float4(0.3,0.59,0.11,0); float4 to_gray = float4(0.3,0.59,0.11,0);
float x1 = dot(to_gray, texRECT(samp0, uv0+float2(1,1))); float x1 = dot(to_gray, texRECT(samp0, uv0+float2(1,1)));
float x0 = dot(to_gray, texRECT(samp0, uv0+float2(-1,-1))); float x0 = dot(to_gray, texRECT(samp0, uv0+float2(-1,-1)));
float x3 = dot(to_gray, texRECT(samp0, uv0+float2(1,-1))); float x3 = dot(to_gray, texRECT(samp0, uv0+float2(1,-1)));
float x2 = dot(to_gray, texRECT(samp0, uv0+float2(-1,1))); float x2 = dot(to_gray, texRECT(samp0, uv0+float2(-1,1)));
float edge = (x1 - x0) * (x1 - x0); float edge = (x1 - x0) * (x1 - x0);
float edge2 = (x3 - x2) * (x3 - x2); float edge2 = (x3 - x2) * (x3 - x2);
edge += edge2; edge += edge2;
float4 color = texRECT(samp0, uv0).rgba; float4 color = texRECT(samp0, uv0).rgba;
ocol0 = max(color - float4(edge, edge, edge, edge) * 12, float4(0,0,0,0)); ocol0 = max(color - float4(edge, edge, edge, edge) * 12, float4(0,0,0,0));
} }

View File

@ -1,99 +1,99 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
//Changethis to increase the number of colors. //Changethis to increase the number of colors.
float numColors =8; float numColors =8;
float4 to_gray = float4(0.3,0.59,0.11,0); float4 to_gray = float4(0.3,0.59,0.11,0);
float x1 = dot(to_gray, texRECT(samp0, uv0+float2(1,1))); float x1 = dot(to_gray, texRECT(samp0, uv0+float2(1,1)));
float x0 = dot(to_gray, texRECT(samp0, uv0+float2(-1,-1))); float x0 = dot(to_gray, texRECT(samp0, uv0+float2(-1,-1)));
float x3 = dot(to_gray, texRECT(samp0, uv0+float2(1,-1))); float x3 = dot(to_gray, texRECT(samp0, uv0+float2(1,-1)));
float x2 = dot(to_gray, texRECT(samp0, uv0+float2(-1,1))); float x2 = dot(to_gray, texRECT(samp0, uv0+float2(-1,1)));
float edge = (x1 - x0) * (x1 - x0); float edge = (x1 - x0) * (x1 - x0);
float edge2 = (x3 - x2) * (x3 - x2); float edge2 = (x3 - x2) * (x3 - x2);
edge += edge2; edge += edge2;
float4 color = texRECT(samp0, uv0).rgba; float4 color = texRECT(samp0, uv0).rgba;
float4 c0 = max(color - float4(edge, edge, edge, edge) * 12, float4(0,0,0,0)); float4 c0 = max(color - float4(edge, edge, edge, edge) * 12, float4(0,0,0,0));
//Change this number to increase the pixel size. //Change this number to increase the pixel size.
int pixelSize = 1; int pixelSize = 1;
float red = 0.0; float red = 0.0;
float green = 0.0; float green = 0.0;
float blue = 0.0; float blue = 0.0;
bool rr = false; bool rr = false;
bool bb = false; bool bb = false;
bool gg = false; bool gg = false;
int val = uv0[0]; int val = uv0[0];
int val2 = uv0[1]; int val2 = uv0[1];
int count = 1; int count = 1;
double colorN = 0.0; double colorN = 0.0;
double colorB = 0.0; double colorB = 0.0;
val = val % pixelSize; val = val % pixelSize;
val2 = val2 % pixelSize; val2 = val2 % pixelSize;
//if(val == 0 && val2 == 0 ) //if(val == 0 && val2 == 0 )
// c0 = texRECT(samp0, uv0).rgba; // c0 = texRECT(samp0, uv0).rgba;
//else //else
// c0 = texRECT(samp0, uv0-float2(val, val2)).rgba; // c0 = texRECT(samp0, uv0-float2(val, val2)).rgba;
for(count = 1; count <= numColors ; count++){ for(count = 1; count <= numColors ; count++){
colorN = count / numColors; colorN = count / numColors;
if ( c0.r <= colorN && c0.r >= colorB && rr == false ){ if ( c0.r <= colorN && c0.r >= colorB && rr == false ){
if (count == 1){ if (count == 1){
if(colorN >= 0.1) if(colorN >= 0.1)
red = 0.01; red = 0.01;
else else
red = colorN; red = colorN;
} }
else if (count == numColors) else if (count == numColors)
red = 0.95; red = 0.95;
else else
red = colorN ; red = colorN ;
rr = true; rr = true;
} }
if (c0.b <= colorN && c0.b >= colorB && bb == false){ if (c0.b <= colorN && c0.b >= colorB && bb == false){
if (count == 1){ if (count == 1){
if(colorN >= 0.1) if(colorN >= 0.1)
blue = 0.01; blue = 0.01;
else else
blue = colorN; blue = colorN;
} }
else if (count == numColors) else if (count == numColors)
blue = 0.95; blue = 0.95;
else else
blue = colorN ; blue = colorN ;
bb = true; bb = true;
} }
if (c0.g <= colorN && c0.g >= colorB && gg == false){ if (c0.g <= colorN && c0.g >= colorB && gg == false){
if (count == 1){ if (count == 1){
if(colorN >= 0.1) if(colorN >= 0.1)
green = 0.01; green = 0.01;
else else
green = colorN; green = colorN;
} }
else if (count == numColors) else if (count == numColors)
green = 0.95 ; green = 0.95 ;
else else
green = colorN ; green = colorN ;
gg = true; gg = true;
} }
colorB = count / numColors; colorB = count / numColors;
if(rr == true && bb == true && gg == true) if(rr == true && bb == true && gg == true)
break; break;
} }
ocol0 = float4(red, green, blue, c0.a); ocol0 = float4(red, green, blue, c0.a);
} }

View File

@ -1,38 +1,38 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0, in float2 uv1 : TEXCOORD1) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0, in float2 uv1 : TEXCOORD1)
{ {
float4 c_center = texRECT(samp0, uv0.xy).rgba; float4 c_center = texRECT(samp0, uv0.xy).rgba;
float4 bloom_sum = float4(0.0, 0.0, 0.0, 0.0); float4 bloom_sum = float4(0.0, 0.0, 0.0, 0.0);
uv0 += float2(0.3, 0.3); uv0 += float2(0.3, 0.3);
float radius1 = 1.3; float radius1 = 1.3;
bloom_sum += texRECT(samp0, uv0 + float2(-1.5, -1.5) * radius1); bloom_sum += texRECT(samp0, uv0 + float2(-1.5, -1.5) * radius1);
bloom_sum += texRECT(samp0, uv0 + float2(-2.5, 0) * radius1); bloom_sum += texRECT(samp0, uv0 + float2(-2.5, 0) * radius1);
bloom_sum += texRECT(samp0, uv0 + float2(-1.5, 1.5) * radius1); bloom_sum += texRECT(samp0, uv0 + float2(-1.5, 1.5) * radius1);
bloom_sum += texRECT(samp0, uv0 + float2(0, 2.5) * radius1); bloom_sum += texRECT(samp0, uv0 + float2(0, 2.5) * radius1);
bloom_sum += texRECT(samp0, uv0 + float2(1.5, 1.5) * radius1); bloom_sum += texRECT(samp0, uv0 + float2(1.5, 1.5) * radius1);
bloom_sum += texRECT(samp0, uv0 + float2(2.5, 0) * radius1); bloom_sum += texRECT(samp0, uv0 + float2(2.5, 0) * radius1);
bloom_sum += texRECT(samp0, uv0 + float2(1.5, -1.5) * radius1); bloom_sum += texRECT(samp0, uv0 + float2(1.5, -1.5) * radius1);
bloom_sum += texRECT(samp0, uv0 + float2(0, -2.5) * radius1); bloom_sum += texRECT(samp0, uv0 + float2(0, -2.5) * radius1);
float radius2 = 4.6; float radius2 = 4.6;
bloom_sum += texRECT(samp0, uv0 + float2(-1.5, -1.5) * radius2); bloom_sum += texRECT(samp0, uv0 + float2(-1.5, -1.5) * radius2);
bloom_sum += texRECT(samp0, uv0 + float2(-2.5, 0) * radius2); bloom_sum += texRECT(samp0, uv0 + float2(-2.5, 0) * radius2);
bloom_sum += texRECT(samp0, uv0 + float2(-1.5, 1.5) * radius2); bloom_sum += texRECT(samp0, uv0 + float2(-1.5, 1.5) * radius2);
bloom_sum += texRECT(samp0, uv0 + float2(0, 2.5) * radius2); bloom_sum += texRECT(samp0, uv0 + float2(0, 2.5) * radius2);
bloom_sum += texRECT(samp0, uv0 + float2(1.5, 1.5) * radius2); bloom_sum += texRECT(samp0, uv0 + float2(1.5, 1.5) * radius2);
bloom_sum += texRECT(samp0, uv0 + float2(2.5, 0) * radius2); bloom_sum += texRECT(samp0, uv0 + float2(2.5, 0) * radius2);
bloom_sum += texRECT(samp0, uv0 + float2(1.5, -1.5) * radius2); bloom_sum += texRECT(samp0, uv0 + float2(1.5, -1.5) * radius2);
bloom_sum += texRECT(samp0, uv0 + float2(0, -2.5) * radius2); bloom_sum += texRECT(samp0, uv0 + float2(0, -2.5) * radius2);
bloom_sum *= 0.07; bloom_sum *= 0.07;
bloom_sum -= float4(0.3, 0.3, 0.3, 0.3); bloom_sum -= float4(0.3, 0.3, 0.3, 0.3);
bloom_sum = max(bloom_sum, float4(0,0,0,0)); bloom_sum = max(bloom_sum, float4(0,0,0,0));
float2 vpos = (uv1 - float2(.5, .5)) * 2; float2 vpos = (uv1 - float2(.5, .5)) * 2;
float dist = (dot(vpos, vpos)); float dist = (dot(vpos, vpos));
dist = 1 - 0.4*dist; dist = 1 - 0.4*dist;
ocol0 = (c_center * 0.7 + bloom_sum) * dist; ocol0 = (c_center * 0.7 + bloom_sum) * dist;
} }

View File

@ -1,8 +1,8 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
c0 += c0 * 2; c0 += c0 * 2;
ocol0 = float4(c0.r, c0.g, c0.b, c0.a); ocol0 = float4(c0.r, c0.g, c0.b, c0.a);
} }

View File

@ -1,20 +1,20 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float red = 0.0; float red = 0.0;
float green = 0.0; float green = 0.0;
if (c0.r < 0.35 || c0.b > 0.35) if (c0.r < 0.35 || c0.b > 0.35)
{ {
green = c0.g + (c0.b / 2); green = c0.g + (c0.b / 2);
} }
else else
{ {
//red = 1 - c0.r + (c0.b / 2); //red = 1 - c0.r + (c0.b / 2);
red = c0.r + 0.4; red = c0.r + 0.4;
} }
ocol0 = float4(red, green, 0.0, 1.0); ocol0 = float4(red, green, 0.0, 1.0);
} }

View File

@ -1,22 +1,22 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float red = 0.0; float red = 0.0;
float green = 0.0; float green = 0.0;
float blue = 0.0; float blue = 0.0;
if (c0.r < 0.50 || c0.b > 0.5) if (c0.r < 0.50 || c0.b > 0.5)
{ {
blue = c0.r; blue = c0.r;
red = c0.g; red = c0.g;
} }
else else
{ {
blue = c0.r; blue = c0.r;
green = c0.r; green = c0.r;
} }
ocol0 = float4(red, green, blue, 1.0); ocol0 = float4(red, green, blue, 1.0);
} }

View File

@ -1,36 +1,36 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float4 c1 = texRECT(samp0, uv0 - float2(1, 0)).rgba; float4 c1 = texRECT(samp0, uv0 - float2(1, 0)).rgba;
float4 c2 = texRECT(samp0, uv0 - float2(0, 1)).rgba; float4 c2 = texRECT(samp0, uv0 - float2(0, 1)).rgba;
float4 c3 = texRECT(samp0, uv0 + float2(1, 0)).rgba; float4 c3 = texRECT(samp0, uv0 + float2(1, 0)).rgba;
float4 c4 = texRECT(samp0, uv0 + float2(0, 1)).rgba; float4 c4 = texRECT(samp0, uv0 + float2(0, 1)).rgba;
float red = c0.r; float red = c0.r;
float blue = c0.b; float blue = c0.b;
float green = c0.g; float green = c0.g;
float red2 = (c1.r + c2.r + c3.r + c4.r) / 4; float red2 = (c1.r + c2.r + c3.r + c4.r) / 4;
float blue2 = (c1.b + c2.b + c3.b + c4.b) / 4; float blue2 = (c1.b + c2.b + c3.b + c4.b) / 4;
float green2 = (c1.g + c2.g + c3.g + c4.g) / 4; float green2 = (c1.g + c2.g + c3.g + c4.g) / 4;
if(red2 > 0.3) if(red2 > 0.3)
red = c0.r + c0.r / 2 ; red = c0.r + c0.r / 2 ;
else else
red = c0.r - c0.r / 2 ; red = c0.r - c0.r / 2 ;
if(green2 > 0.3) if(green2 > 0.3)
green = c0.g+ c0.g / 2; green = c0.g+ c0.g / 2;
else else
green = c0.g - c0.g / 2; green = c0.g - c0.g / 2;
if(blue2 > 0.3) if(blue2 > 0.3)
blue = c0.b+ c0.b / 2 ; blue = c0.b+ c0.b / 2 ;
else else
blue = c0.b - c0.b / 2 ; blue = c0.b - c0.b / 2 ;
ocol0 = float4(red, green, blue, c0.a); ocol0 = float4(red, green, blue, c0.a);
} }

View File

@ -1,19 +1,19 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float4 c1 = texRECT(samp0, uv0 + float2(5,5)).rgba; float4 c1 = texRECT(samp0, uv0 + float2(5,5)).rgba;
float y = (0.222 * c1.r) + (0.707 * c1.g) + (0.071 * c1.b); float y = (0.222 * c1.r) + (0.707 * c1.g) + (0.071 * c1.b);
float y2 = ((0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b)) / 3; float y2 = ((0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b)) / 3;
float red = c0.r; float red = c0.r;
float green = c0.g; float green = c0.g;
float blue = c0.b; float blue = c0.b;
float alpha = c0.a; float alpha = c0.a;
red = y2 + (1 - y); red = y2 + (1 - y);
green = y2 + (1 - y); green = y2 + (1 - y);
blue = y2 + (1 - y); blue = y2 + (1 - y);
ocol0 = float4(red, green, blue, alpha); ocol0 = float4(red, green, blue, alpha);
} }

View File

@ -1,39 +1,39 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float red = 0.0; float red = 0.0;
float green = 0.0; float green = 0.0;
float blue = 0.0; float blue = 0.0;
red = c0.r; red = c0.r;
if (c0.r > 0.0) if (c0.r > 0.0)
{ {
if (c0.g > c0.r) if (c0.g > c0.r)
{ {
green = (c0.g - (c0.g - c0.r)) / 3; green = (c0.g - (c0.g - c0.r)) / 3;
} }
} }
if (c0.b > 0.0 && c0.r < 0.25) if (c0.b > 0.0 && c0.r < 0.25)
{ {
red = c0.b; red = c0.b;
green = c0.b / 3; green = c0.b / 3;
} }
if (c0.g > 0.0 && c0.r < 0.25) if (c0.g > 0.0 && c0.r < 0.25)
{ {
red = c0.g; red = c0.g;
green = c0.g / 3; green = c0.g / 3;
} }
if (((c0.r + c0.g + c0.b) / 3) > 0.9) if (((c0.r + c0.g + c0.b) / 3) > 0.9)
{ {
green = c0.r / 3; green = c0.r / 3;
} }
ocol0 = float4(red, green, blue, 1.0); ocol0 = float4(red, green, blue, 1.0);
} }

View File

@ -1,15 +1,15 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float red = 0.0; float red = 0.0;
float green = 0.0; float green = 0.0;
float blue = 0.0; float blue = 0.0;
float avg = (c0.r + c0.g + c0.b) / 3; float avg = (c0.r + c0.g + c0.b) / 3;
red = c0.r + (c0.g / 2) + (c0.b / 3); red = c0.r + (c0.g / 2) + (c0.b / 3);
green = c0.r / 3; green = c0.r / 3;
ocol0 = float4(red, green, blue, 1.0); ocol0 = float4(red, green, blue, 1.0);
} }

View File

@ -1,17 +1,17 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float4 c1 = texRECT(samp0, uv0 + float2(1,1)).rgba; float4 c1 = texRECT(samp0, uv0 + float2(1,1)).rgba;
float4 c2 = texRECT(samp0, uv0 + float2(-1,-1)).rgba; float4 c2 = texRECT(samp0, uv0 + float2(-1,-1)).rgba;
float red = c0.r; float red = c0.r;
float green = c0.g; float green = c0.g;
float blue = c0.b; float blue = c0.b;
float alpha = c0.a; float alpha = c0.a;
red = c0.r - c1.b; red = c0.r - c1.b;
blue = c0.b - c2.r + (c0.g - c0.r); blue = c0.b - c2.r + (c0.g - c0.r);
ocol0 = float4(red, 0.0, blue, alpha); ocol0 = float4(red, 0.0, blue, alpha);
} }

View File

@ -1,8 +1,8 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float avg = (c0.r + c0.g + c0.b) / 3.0; float avg = (c0.r + c0.g + c0.b) / 3.0;
ocol0 = float4(avg, avg, avg, c0.a); ocol0 = float4(avg, avg, avg, c0.a);
} }

View File

@ -1,9 +1,9 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
// Info: http://www.oreillynet.com/cs/user/view/cs_msg/8691 // Info: http://www.oreillynet.com/cs/user/view/cs_msg/8691
float avg = (0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b); float avg = (0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b);
ocol0 = float4(avg, avg, avg, c0.a); ocol0 = float4(avg, avg, avg, c0.a);
} }

View File

@ -1,7 +1,7 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
ocol0 = float4(1.0, 1.0, 1.0, 1.0) - c0; ocol0 = float4(1.0, 1.0, 1.0, 1.0) - c0;
} }

View File

@ -1,7 +1,7 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
ocol0 = float4(0.0, 0.0, 0.7, 1.0) - c0; ocol0 = float4(0.0, 0.0, 0.7, 1.0) - c0;
} }

View File

@ -1,9 +1,9 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float4 c1 = texRECT(samp0, uv0 + float2(5,5)).rgba; float4 c1 = texRECT(samp0, uv0 + float2(5,5)).rgba;
ocol0 = c0 - c1; ocol0 = c0 - c1;
} }

View File

@ -1,17 +1,17 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 emboss = (texRECT(samp0, uv0+1).rgba - texRECT(samp0, uv0-1).rgba)*2.0f; float4 emboss = (texRECT(samp0, uv0+1).rgba - texRECT(samp0, uv0-1).rgba)*2.0f;
emboss -= (texRECT(samp0, uv0+float2(1,-1)).rgba - texRECT(samp0, uv0+float2(-1,1)).rgba); emboss -= (texRECT(samp0, uv0+float2(1,-1)).rgba - texRECT(samp0, uv0+float2(-1,1)).rgba);
float4 color = texRECT(samp0, uv0).rgba; float4 color = texRECT(samp0, uv0).rgba;
if (color.r > 0.8 && color.b + color.b < 0.2) if (color.r > 0.8 && color.b + color.b < 0.2)
ocol0 = float4(1,0,0,0); ocol0 = float4(1,0,0,0);
else { else {
color += emboss; color += emboss;
if (dot(color.rgb, float3(0.3, 0.5, 0.2)) > 0.5) if (dot(color.rgb, float3(0.3, 0.5, 0.2)) > 0.5)
ocol0 = float4(1,1,1,1); ocol0 = float4(1,1,1,1);
else else
ocol0 = float4(0,0,0,0); ocol0 = float4(0,0,0,0);
} }
} }

View File

@ -1,14 +1,14 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float green = c0.g; float green = c0.g;
if (c0.g < 0.50) if (c0.g < 0.50)
{ {
green = c0.r + c0.b; green = c0.r + c0.b;
} }
ocol0 = float4(0.0, green, 0.0, 1.0); ocol0 = float4(0.0, green, 0.0, 1.0);
} }

View File

@ -1,51 +1,51 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
//variables //variables
int internalresolution = 1278; int internalresolution = 1278;
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
//blur //blur
float4 blurtotal = float4(0, 0, 0, 0); float4 blurtotal = float4(0, 0, 0, 0);
float blursize = 1.5; float blursize = 1.5;
blurtotal += texRECT(samp0, uv0 + float2(-blursize, -blursize)); blurtotal += texRECT(samp0, uv0 + float2(-blursize, -blursize));
blurtotal += texRECT(samp0, uv0 + float2(-blursize, blursize)); blurtotal += texRECT(samp0, uv0 + float2(-blursize, blursize));
blurtotal += texRECT(samp0, uv0 + float2( blursize, -blursize)); blurtotal += texRECT(samp0, uv0 + float2( blursize, -blursize));
blurtotal += texRECT(samp0, uv0 + float2( blursize, blursize)); blurtotal += texRECT(samp0, uv0 + float2( blursize, blursize));
blurtotal += texRECT(samp0, uv0 + float2(-blursize, 0)); blurtotal += texRECT(samp0, uv0 + float2(-blursize, 0));
blurtotal += texRECT(samp0, uv0 + float2( blursize, 0)); blurtotal += texRECT(samp0, uv0 + float2( blursize, 0));
blurtotal += texRECT(samp0, uv0 + float2( 0, -blursize)); blurtotal += texRECT(samp0, uv0 + float2( 0, -blursize));
blurtotal += texRECT(samp0, uv0 + float2( 0, blursize)); blurtotal += texRECT(samp0, uv0 + float2( 0, blursize));
blurtotal *= 0.125; blurtotal *= 0.125;
c0 = blurtotal; c0 = blurtotal;
//greyscale //greyscale
float grey = ((0.3 * c0.r) + (0.4 * c0.g) + (0.3 * c0.b)); float grey = ((0.3 * c0.r) + (0.4 * c0.g) + (0.3 * c0.b));
// brighten // brighten
grey = grey * 0.5 + 0.7; grey = grey * 0.5 + 0.7;
// darken edges // darken edges
float x = uv0[0]; float x = uv0[0];
float y = uv0[1]; float y = uv0[1];
if (x > internalresolution/2) x = internalresolution-x; if (x > internalresolution/2) x = internalresolution-x;
if (y > internalresolution/2) y = internalresolution-y; if (y > internalresolution/2) y = internalresolution-y;
if (x > internalresolution/2*0.95) x = internalresolution/2*0.95; if (x > internalresolution/2*0.95) x = internalresolution/2*0.95;
if (y > internalresolution/2*0.95) y = internalresolution/2*0.95; if (y > internalresolution/2*0.95) y = internalresolution/2*0.95;
x = -x+641; x = -x+641;
y = -y+641; y = -y+641;
/*****inline square root routines*****/ /*****inline square root routines*****/
// bit of a performance bottleneck. // bit of a performance bottleneck.
// neccessary to make the darkened area rounded // neccessary to make the darkened area rounded
// instead of rhombus-shaped. // instead of rhombus-shaped.
float sqrt=x/10; float sqrt=x/10;
while((sqrt*sqrt) < x) sqrt+=0.1; while((sqrt*sqrt) < x) sqrt+=0.1;
x = sqrt; x = sqrt;
sqrt=y/10; sqrt=y/10;
while((sqrt*sqrt) < y) sqrt+=0.1; while((sqrt*sqrt) < y) sqrt+=0.1;
y = sqrt; y = sqrt;
/*****end of inline square root routines*****/ /*****end of inline square root routines*****/
x *= 2; x *= 2;
y *= 2; y *= 2;
grey -= x/200; grey -= x/200;
grey -= y/200; grey -= y/200;
// output // output
ocol0 = float4(0, grey, 0, 1.0); ocol0 = float4(0, grey, 0, 1.0);
} }

View File

@ -1,56 +1,56 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
//variables //variables
int internalresolution = 1278; int internalresolution = 1278;
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
//blur //blur
float4 blurtotal = float4(0, 0, 0, 0); float4 blurtotal = float4(0, 0, 0, 0);
float blursize = 1.5; float blursize = 1.5;
blurtotal += texRECT(samp0, uv0 + float2(-blursize, -blursize)); blurtotal += texRECT(samp0, uv0 + float2(-blursize, -blursize));
blurtotal += texRECT(samp0, uv0 + float2(-blursize, blursize)); blurtotal += texRECT(samp0, uv0 + float2(-blursize, blursize));
blurtotal += texRECT(samp0, uv0 + float2( blursize, -blursize)); blurtotal += texRECT(samp0, uv0 + float2( blursize, -blursize));
blurtotal += texRECT(samp0, uv0 + float2( blursize, blursize)); blurtotal += texRECT(samp0, uv0 + float2( blursize, blursize));
blurtotal += texRECT(samp0, uv0 + float2(-blursize, 0)); blurtotal += texRECT(samp0, uv0 + float2(-blursize, 0));
blurtotal += texRECT(samp0, uv0 + float2( blursize, 0)); blurtotal += texRECT(samp0, uv0 + float2( blursize, 0));
blurtotal += texRECT(samp0, uv0 + float2( 0, -blursize)); blurtotal += texRECT(samp0, uv0 + float2( 0, -blursize));
blurtotal += texRECT(samp0, uv0 + float2( 0, blursize)); blurtotal += texRECT(samp0, uv0 + float2( 0, blursize));
blurtotal *= 0.125; blurtotal *= 0.125;
c0 = blurtotal; c0 = blurtotal;
//greyscale //greyscale
float grey = ((0.3 * c0.r) + (0.4 * c0.g) + (0.3 * c0.b)); float grey = ((0.3 * c0.r) + (0.4 * c0.g) + (0.3 * c0.b));
// brighten and apply horizontal scanlines // brighten and apply horizontal scanlines
// This would have been much simpler if I could get the stupid modulo (%) to work // This would have been much simpler if I could get the stupid modulo (%) to work
// If anyone who is more well versed in Cg knows how to do this it'd be slightly more efficient // If anyone who is more well versed in Cg knows how to do this it'd be slightly more efficient
// float lineIntensity = ((uv0[1] % 9) - 4) / 40; // float lineIntensity = ((uv0[1] % 9) - 4) / 40;
float vPos = uv0[1] / 9; float vPos = uv0[1] / 9;
float lineIntensity = (((vPos - (int)vPos) * 9) - 4) / 40; float lineIntensity = (((vPos - (int)vPos) * 9) - 4) / 40;
grey = grey * 0.5 + 0.7 + lineIntensity; grey = grey * 0.5 + 0.7 + lineIntensity;
// darken edges // darken edges
float x = uv0[0]; float x = uv0[0];
float y = uv0[1]; float y = uv0[1];
if (x > internalresolution/2) x = internalresolution-x; if (x > internalresolution/2) x = internalresolution-x;
if (y > internalresolution/2) y = internalresolution-y; if (y > internalresolution/2) y = internalresolution-y;
if (x > internalresolution/2*0.95) x = internalresolution/2*0.95; if (x > internalresolution/2*0.95) x = internalresolution/2*0.95;
if (y > internalresolution/2*0.95) y = internalresolution/2*0.95; if (y > internalresolution/2*0.95) y = internalresolution/2*0.95;
x = -x+641; x = -x+641;
y = -y+641; y = -y+641;
/*****inline square root routines*****/ /*****inline square root routines*****/
// bit of a performance bottleneck. // bit of a performance bottleneck.
// neccessary to make the darkened area rounded // neccessary to make the darkened area rounded
// instead of rhombus-shaped. // instead of rhombus-shaped.
float sqrt=x/10; float sqrt=x/10;
while((sqrt*sqrt) < x) sqrt+=0.1; while((sqrt*sqrt) < x) sqrt+=0.1;
x = sqrt; x = sqrt;
sqrt=y/10; sqrt=y/10;
while((sqrt*sqrt) < y) sqrt+=0.1; while((sqrt*sqrt) < y) sqrt+=0.1;
y = sqrt; y = sqrt;
/*****end of inline square root routines*****/ /*****end of inline square root routines*****/
x *= 2; x *= 2;
y *= 2; y *= 2;
grey -= x/200; grey -= x/200;
grey -= y/200; grey -= y/200;
// output // output
ocol0 = float4(0, grey, 0, 1.0); ocol0 = float4(0, grey, 0, 1.0);
} }

View File

@ -1,26 +1,26 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float red = 0.0; float red = 0.0;
float green = 0.0; float green = 0.0;
float blue = 0.0; float blue = 0.0;
if (c0.r > 0.25) if (c0.r > 0.25)
{ {
red = c0.r; red = c0.r;
} }
if (c0.g > 0.25) if (c0.g > 0.25)
{ {
green = c0.g; green = c0.g;
} }
if (c0.b > 0.25) if (c0.b > 0.25)
{ {
blue = c0.b; blue = c0.b;
} }
ocol0 = float4(red, green, blue, 1.0); ocol0 = float4(red, green, blue, 1.0);
} }

View File

@ -1,21 +1,21 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
inline float bound(float color) inline float bound(float color)
{ {
if (color < 0.35) if (color < 0.35)
{ {
if (color < 0.25) if (color < 0.25)
{ {
return color; return color;
} }
return 0.5; return 0.5;
} }
return 1.0; return 1.0;
} }
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0 + float2(0,0)).rgba; float4 c0 = texRECT(samp0, uv0 + float2(0,0)).rgba;
ocol0 = float4(bound(c0.r), bound(c0.g), bound(c0.b), c0.a); ocol0 = float4(bound(c0.r), bound(c0.g), bound(c0.b), c0.a);
} }

View File

@ -1,69 +1,69 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float red = c0.r; float red = c0.r;
float blue = c0.b; float blue = c0.b;
float green = c0.g; float green = c0.g;
float factor = 2; float factor = 2;
float max = 0.8; float max = 0.8;
float min = 0.3; float min = 0.3;
if(c0.r > c0.g && c0.b > c0.g){ if(c0.r > c0.g && c0.b > c0.g){
if(c0.r < c0.b + 0.05 && c0.b < c0.r + 0.05){ if(c0.r < c0.b + 0.05 && c0.b < c0.r + 0.05){
red = 0.7; red = 0.7;
blue = 0.7; blue = 0.7;
green = 0.05; green = 0.05;
} }
else if(c0.r > c0.b + 0.05){ else if(c0.r > c0.b + 0.05){
red = 0.7; red = 0.7;
blue = 0.05; blue = 0.05;
green = 0.05; green = 0.05;
} }
else if (c0.b > c0.r + 0.05){ else if (c0.b > c0.r + 0.05){
red = 0.05; red = 0.05;
blue = 0.7; blue = 0.7;
green = 0.05; green = 0.05;
} }
} }
if(c0.r > c0.b && c0.g > c0.b){ if(c0.r > c0.b && c0.g > c0.b){
if(c0.r < c0.g + 0.05 && c0.g < c0.r + 0.05){ if(c0.r < c0.g + 0.05 && c0.g < c0.r + 0.05){
red = 0.7; red = 0.7;
blue = 0.05; blue = 0.05;
green = 0.7; green = 0.7;
} }
else if(c0.r > c0.g + 0.05){ else if(c0.r > c0.g + 0.05){
red = 0.7; red = 0.7;
blue = 0.05; blue = 0.05;
green = 0.05; green = 0.05;
} }
else if (c0.g > c0.r + 0.05){ else if (c0.g > c0.r + 0.05){
red = 0.05; red = 0.05;
blue = 0.05; blue = 0.05;
green = 0.7; green = 0.7;
} }
} }
if(c0.g > c0.r && c0.b > c0.r){ if(c0.g > c0.r && c0.b > c0.r){
if(c0.g < c0.b + 0.05 && c0.b < c0.g + 0.05){ if(c0.g < c0.b + 0.05 && c0.b < c0.g + 0.05){
red = 0.05; red = 0.05;
blue = 0.7; blue = 0.7;
green = 0.7; green = 0.7;
} }
else if(c0.g > c0.b + 0.05){ else if(c0.g > c0.b + 0.05){
red = 0.05; red = 0.05;
blue = 0.05; blue = 0.05;
green = 0.7; green = 0.7;
} }
else if (c0.b > c0.g + 0.05){ else if (c0.b > c0.g + 0.05){
red = 0.05; red = 0.05;
blue = 0.7; blue = 0.7;
green = 0.05; green = 0.05;
} }
} }
ocol0 = float4(red, green, blue, c0.a); ocol0 = float4(red, green, blue, c0.a);
} }

View File

@ -1,13 +1,13 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
// Same coefficients as grayscale2 at this point // Same coefficients as grayscale2 at this point
float avg = (0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b); float avg = (0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b);
float red=avg; float red=avg;
// Not sure about these coefficients, they just seem to produce the proper yellow // Not sure about these coefficients, they just seem to produce the proper yellow
float green=avg*.75; float green=avg*.75;
float blue=avg*.5; float blue=avg*.5;
ocol0 = float4(red, green, blue, c0.a); ocol0 = float4(red, green, blue, c0.a);
} }

View File

@ -1,17 +1,17 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float4 tmp = float4(0, 0, 0, 0); float4 tmp = float4(0, 0, 0, 0);
tmp += c0 - texRECT(samp0, uv0 + float2(2, 2)).rgba; tmp += c0 - texRECT(samp0, uv0 + float2(2, 2)).rgba;
tmp += c0 - texRECT(samp0, uv0 - float2(2, 2)).rgba; tmp += c0 - texRECT(samp0, uv0 - float2(2, 2)).rgba;
tmp += c0 - texRECT(samp0, uv0 + float2(2, -2)).rgba; tmp += c0 - texRECT(samp0, uv0 + float2(2, -2)).rgba;
tmp += c0 - texRECT(samp0, uv0 - float2(2, -2)).rgba; tmp += c0 - texRECT(samp0, uv0 - float2(2, -2)).rgba;
float grey = ((0.222 * tmp.r) + (0.707 * tmp.g) + (0.071 * tmp.b)); float grey = ((0.222 * tmp.r) + (0.707 * tmp.g) + (0.071 * tmp.b));
// get rid of the bottom line, as it is incorrect. // get rid of the bottom line, as it is incorrect.
if (uv0[1] < 163) if (uv0[1] < 163)
tmp = 1; tmp = 1;
c0 = c0+1-grey*7; c0 = c0+1-grey*7;
ocol0 = float4(c0.r, c0.g, c0.b, 1); ocol0 = float4(c0.r, c0.g, c0.b, 1);
} }

View File

@ -1,20 +1,20 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float red = 0.0; float red = 0.0;
float blue = 0.0; float blue = 0.0;
if (c0.r < 0.35 || c0.b > 0.5) if (c0.r < 0.35 || c0.b > 0.5)
{ {
red = c0.g + c0.b; red = c0.g + c0.b;
} }
else else
{ {
red = c0.g + c0.b; red = c0.g + c0.b;
blue = c0.r + c0.b; blue = c0.r + c0.b;
} }
ocol0 = float4(red, 0.0, blue, 1.0); ocol0 = float4(red, 0.0, blue, 1.0);
} }

View File

@ -1,22 +1,22 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float red = 0.0; float red = 0.0;
float green = 0.0; float green = 0.0;
float blue = 0.0; float blue = 0.0;
if (c0.r < 0.35 || c0.b > 0.5) if (c0.r < 0.35 || c0.b > 0.5)
{ {
red = c0.g + c0.b; red = c0.g + c0.b;
} }
else else
{ {
red = c0.g + c0.b; red = c0.g + c0.b;
blue = c0.r + c0.b; blue = c0.r + c0.b;
green = c0.r + c0.b; green = c0.r + c0.b;
} }
ocol0 = float4(red, green, blue, 1.0); ocol0 = float4(red, green, blue, 1.0);
} }

View File

@ -1,27 +1,27 @@
// Omega's 3D Stereoscopic filtering // Omega's 3D Stereoscopic filtering
// TODO: Need depth info! // TODO: Need depth info!
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; // Source Color float4 c0 = texRECT(samp0, uv0).rgba; // Source Color
float sep = 5; float sep = 5;
float red = c0.r; float red = c0.r;
float green = c0.g; float green = c0.g;
float blue = c0.b; float blue = c0.b;
// Red Eye (Red) // Red Eye (Red)
float4 c1 = texRECT(samp0, uv0 + float2(sep,0)).rgba; float4 c1 = texRECT(samp0, uv0 + float2(sep,0)).rgba;
red = max(c0.r, c1.r); red = max(c0.r, c1.r);
// Right Eye (Cyan) // Right Eye (Cyan)
float4 c2 = texRECT(samp0, uv0 + float2(-sep,0)).rgba; float4 c2 = texRECT(samp0, uv0 + float2(-sep,0)).rgba;
float cyan = (c2.g + c2.b) / 2; float cyan = (c2.g + c2.b) / 2;
green = max(c0.g, cyan); green = max(c0.g, cyan);
blue = max(c0.b, cyan); blue = max(c0.b, cyan);
ocol0 = float4(red, green, blue, c0.a); ocol0 = float4(red, green, blue, c0.a);
} }

View File

@ -1,26 +1,26 @@
// Omega's 3D Stereoscopic filtering (Amber/Blue) // Omega's 3D Stereoscopic filtering (Amber/Blue)
// TODO: Need depth info! // TODO: Need depth info!
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; // Source Color float4 c0 = texRECT(samp0, uv0).rgba; // Source Color
float sep = 5; float sep = 5;
float red = c0.r; float red = c0.r;
float green = c0.g; float green = c0.g;
float blue = c0.b; float blue = c0.b;
// Left Eye (Amber) // Left Eye (Amber)
float4 c2 = texRECT(samp0, uv0 + float2(sep,0)).rgba; float4 c2 = texRECT(samp0, uv0 + float2(sep,0)).rgba;
float amber = (c2.r + c2.g) / 2; float amber = (c2.r + c2.g) / 2;
red = max(c0.r, amber); red = max(c0.r, amber);
green = max(c0.g, amber); green = max(c0.g, amber);
// Right Eye (Blue) // Right Eye (Blue)
float4 c1 = texRECT(samp0, uv0 + float2(-sep,0)).rgba; float4 c1 = texRECT(samp0, uv0 + float2(-sep,0)).rgba;
blue = max(c0.b, c1.b); blue = max(c0.b, c1.b);
ocol0 = float4(red, green, blue, c0.a); ocol0 = float4(red, green, blue, c0.a);
} }

View File

@ -1,7 +1,7 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
ocol0 = float4(c0.r*1.5, c0.g*1, c0.b*0.5, c0.a); ocol0 = float4(c0.r*1.5, c0.g*1, c0.b*0.5, c0.a);
} }

View File

@ -1,7 +1,7 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
ocol0 = float4(c0.b, c0.g, c0.r, c0.a); ocol0 = float4(c0.b, c0.g, c0.r, c0.a);
} }

View File

@ -1,7 +1,7 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
ocol0 = float4(c0.b, c0.r, c0.g, c0.a); ocol0 = float4(c0.b, c0.r, c0.g, c0.a);
} }

View File

@ -1,7 +1,7 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
ocol0 = float4(c0.g, c0.b, c0.r, c0.a); ocol0 = float4(c0.g, c0.b, c0.r, c0.a);
} }

View File

@ -1,7 +1,7 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
ocol0 = float4(c0.g, c0.r, c0.b, c0.a); ocol0 = float4(c0.g, c0.r, c0.b, c0.a);
} }

View File

@ -1,7 +1,7 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
ocol0 = float4(c0.r, c0.b, c0.g, c0.a); ocol0 = float4(c0.r, c0.b, c0.g, c0.a);
} }

View File

@ -1,22 +1,22 @@
uniform samplerRECT samp0 : register(s0); uniform samplerRECT samp0 : register(s0);
void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
{ {
float4 c0 = texRECT(samp0, uv0).rgba; float4 c0 = texRECT(samp0, uv0).rgba;
float red = 0.0; float red = 0.0;
float green = 0.0; float green = 0.0;
float blue = 0.0; float blue = 0.0;
if (c0.r < 0.3 || c0.b > 0.5) if (c0.r < 0.3 || c0.b > 0.5)
{ {
blue = c0.r + c0.b; blue = c0.r + c0.b;
red = c0.g + c0.b / 2; red = c0.g + c0.b / 2;
} }
else else
{ {
red = c0.g + c0.b; red = c0.g + c0.b;
green = c0.r + c0.b; green = c0.r + c0.b;
} }
ocol0 = float4(red, green, blue, 1.0); ocol0 = float4(red, green, blue, 1.0);
} }