summaryrefslogtreecommitdiff
path: root/Data/User
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2013-03-07 17:35:27 +0100
committerdegasus <wickmarkus@web.de>2013-03-07 17:35:27 +0100
commit1c125f0fb46eb82d4f8e61ecba27fed06e6bcfcc (patch)
tree04cb6da7c137f9988b5a0e0db648c8663cbd2fa3 /Data/User
parent12e84f918aca858f4a8edde051a8286b92b997a7 (diff)
add resolution uniform for pp, 16bit uses this for reducing screen resolution (wtf?)
Diffstat (limited to 'Data/User')
-rw-r--r--Data/User/Shaders/16bit.txt152
-rw-r--r--Data/User/Shaders/README.txt11
2 files changed, 59 insertions, 104 deletions
diff --git a/Data/User/Shaders/16bit.txt b/Data/User/Shaders/16bit.txt
index 4b4e2dfbff..0be06a95f3 100644
--- a/Data/User/Shaders/16bit.txt
+++ b/Data/User/Shaders/16bit.txt
@@ -1,109 +1,61 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
-{
- float4 c0 = texRECT(samp0, uv0).rgba;
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec2 resolution;
+void main()
+{
//Change this number to increase the pixel size.
- int pixelSize = 3;
+ float pixelSize = 3;
float red = 0.0;
float green = 0.0;
float blue = 0.0;
- int val = uv0[0];
- int val2 = uv0[1];
-
- val = val % pixelSize;
- val2 = val2 % pixelSize;
-
- if(val == 0 && val2 == 0 ){
- if (c0.r < 0.1 && c0.r >= 0)
- red = 0.1;
- if (c0.r < 0.20 && c0.r >= 0.1)
- red = 0.20;
- if (c0.r <0.40 && c0.r >= 0.20)
- red = 0.40;
- if (c0.r <0.60 && c0.r >= 0.40)
- red = 0.60;
- if (c0.r <0.80 && c0.r >= 0.60)
- red = 0.80;
- if (c0.r >= 0.80)
- red = 1;
-
- if (c0.b < 0.1 && c0.b >= 0)
- blue = 0.1;
- if (c0.b < 0.20 && c0.b >= 0.1)
- blue = 0.20;
- if (c0.b <0.40 && c0.b >= 0.20)
- blue = 0.40;
- if (c0.b <0.60 && c0.b >= 0.40)
- blue = 0.60;
- if (c0.b <0.80 && c0.b >= 0.60)
- blue = 0.80;
- if (c0.b >= 0.80)
- blue = 1;
-
-
- if (c0.g < 0.1 && c0.g >= 0)
- green = 0.1;
- if (c0.g < 0.20 && c0.g >= 0.1)
- green = 0.20;
- if (c0.g <0.40 && c0.g >= 0.20)
- green = 0.40;
- if (c0.g <0.60 && c0.g >= 0.40)
- green = 0.60;
- if (c0.g <0.80 && c0.g >= 0.60)
- green = 0.80;
- if (c0.g >= 0.80)
- green = 1;
-
-}
-else{
-float4 c1 = texRECT(samp0, uv0-float2(val, val2)).rgba;
-
- if (c1.r < 0.1 && c1.r >= 0)
- red = 0.1;
- if (c1.r < 0.20 && c1.r >= 0.1)
- red = 0.20;
- if (c1.r <0.40 && c1.r >= 0.20)
- red = 0.40;
- if (c1.r <0.60 && c1.r >= 0.40)
- red = 0.60;
- if (c1.r <0.80 && c1.r >= 0.60)
- red = 0.80;
- if (c1.r >= 0.80)
- red = 1;
-
- if (c1.b < 0.1 && c1.b >= 0)
- blue = 0.1;
- if (c1.b < 0.20 && c1.b >= 0.1)
- blue = 0.20;
- if (c1.b <0.40 && c1.b >= 0.20)
- blue = 0.40;
- if (c1.b <0.60 && c1.b >= 0.40)
- blue = 0.60;
- if (c1.b <0.80 && c1.b >= 0.60)
- blue = 0.80;
- if (c1.b >= 0.80)
- blue = 1;
-
-
- if (c1.g < 0.1 && c1.g >= 0)
- green = 0.1;
- if (c1.g < 0.20 && c1.g >= 0.1)
- green = 0.20;
- if (c1.g <0.40 && c1.g >= 0.20)
- green = 0.40;
- if (c1.g <0.60 && c1.g >= 0.40)
- green = 0.60;
- if (c1.g <0.80 && c1.g >= 0.60)
- green = 0.80;
- if (c1.g >= 0.80)
- green = 1;
-
-}
-
-
- ocol0 = float4(red, green, blue, c0.a);
+ vec2 pos = round(uv0 * resolution / pixelSize) * resolution / pixelSize;
+
+ vec4 c0 = texture(samp9, uv0);
+
+ if (c0.r < 0.1)
+ red = 0.1;
+ else if (c0.r < 0.20)
+ red = 0.20;
+ else if (c0.r < 0.40)
+ red = 0.40;
+ else if (c0.r < 0.60)
+ red = 0.60;
+ else if (c0.r < 0.80)
+ red = 0.80;
+ else
+ red = 1.0;
+
+ if (c0.b < 0.1)
+ blue = 0.1;
+ else if (c0.b < 0.20)
+ blue = 0.20;
+ else if (c0.b < 0.40)
+ blue = 0.40;
+ else if (c0.b < 0.60)
+ blue = 0.60;
+ else if (c0.b < 0.80)
+ blue = 0.80;
+ else
+ blue = 1.0;
+
+ if (c0.g < 0.1)
+ green = 0.1;
+ else if (c0.g < 0.20)
+ green = 0.20;
+ else if (c0.g < 0.40)
+ green = 0.40;
+ else if (c0.g < 0.60)
+ green = 0.60;
+ else if (c0.g < 0.80)
+ green = 0.80;
+ else
+ green = 1.0;
+
+ ocol0 = vec4(red, green, blue, c0.a);
} \ No newline at end of file
diff --git a/Data/User/Shaders/README.txt b/Data/User/Shaders/README.txt
index 9667f2bcef..6913f9d099 100644
--- a/Data/User/Shaders/README.txt
+++ b/Data/User/Shaders/README.txt
@@ -1,11 +1,14 @@
//dummy shader:
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- ocol0 = float4(c0.r, c0.g, c0.b, c0.a);
+ ocol0 = texture(samp9, uv0);
}
+
/*
And now that's over with, the contents of this readme file!
For best results, turn Wordwrap formatting on...