Compare commits
2 commits
eb81a9426a
...
dd9fb8f196
Author | SHA1 | Date | |
---|---|---|---|
dd9fb8f196 | |||
23f9b22013 |
4 changed files with 78 additions and 12 deletions
47
shaders/final.fsh
Normal file
47
shaders/final.fsh
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
#version 120
|
||||||
|
|
||||||
|
#define pixelSize // [1 2 4 8 16]
|
||||||
|
//#define hBlur
|
||||||
|
|
||||||
|
varying vec2 texcoord;
|
||||||
|
|
||||||
|
uniform sampler2D gcolor;
|
||||||
|
uniform float viewWidth;
|
||||||
|
|
||||||
|
#ifdef hBlur
|
||||||
|
|
||||||
|
vec2 neighbor = vec2(1 / viewWidth, 0);
|
||||||
|
|
||||||
|
float avg(float l, float c, float r) {
|
||||||
|
return (l + c + r) / 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
vec3 color = texture2D(gcolor, texcoord).rgb;
|
||||||
|
|
||||||
|
vec2 left = texcoord - neighbor;
|
||||||
|
vec2 right = texcoord + neighbor;
|
||||||
|
vec3 lColor;
|
||||||
|
if(left.x >= 0)
|
||||||
|
lColor = texture2D(gcolor, left).rgb;
|
||||||
|
else
|
||||||
|
lColor = color;
|
||||||
|
|
||||||
|
vec3 rColor;
|
||||||
|
if(right.x <= viewWidth)
|
||||||
|
rColor = texture2D(gcolor, right).rgb;
|
||||||
|
else
|
||||||
|
rColor = color;
|
||||||
|
|
||||||
|
vec3 blurred = vec3(avg(lColor.r, color.r, rColor.r), avg(lColor.g, color.g, rColor.g), avg(lColor.b, color.b, rColor.b));
|
||||||
|
gl_FragData[0] = vec4(blurred, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
gl_FragData[0] = texture2D(gcolor, texcoord);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
3
shaders/final.vsh
Normal file
3
shaders/final.vsh
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
#version 120
|
||||||
|
|
||||||
|
#include "/module/empty.vert"
|
|
@ -3,6 +3,7 @@ profile.DEFAULT=Default
|
||||||
profile.AEON=Aeon Upstream
|
profile.AEON=Aeon Upstream
|
||||||
profile.DOS=DOS
|
profile.DOS=DOS
|
||||||
profile.PSX=PSX
|
profile.PSX=PSX
|
||||||
|
profile.REALITY=Project Reality
|
||||||
profile.VR32=VR32
|
profile.VR32=VR32
|
||||||
|
|
||||||
option.pixelSize=Downscaling
|
option.pixelSize=Downscaling
|
||||||
|
@ -22,9 +23,13 @@ option.hueSteps=Hue Depth
|
||||||
option.satSteps=Saturation Depth
|
option.satSteps=Saturation Depth
|
||||||
option.valSteps=Value Depth
|
option.valSteps=Value Depth
|
||||||
|
|
||||||
screen.PSX=PSX
|
screen.SCREEN=Screen
|
||||||
|
|
||||||
|
screen.CONSOLE=Consoles
|
||||||
|
|
||||||
|
screen.PSX=PSX (1994)
|
||||||
option.vWarp=Vertex Warping
|
option.vWarp=Vertex Warping
|
||||||
option.vWarp.comment=Emulates screen-space vertex snapping responsible for vertex wobble on the PSX
|
option.vWarp.comment=Emulates screen-space vertex snapping responsible for vertex wobble on the Playstation
|
||||||
value.vWarp.0=Off
|
value.vWarp.0=Off
|
||||||
value.vWarp.1=Minimal (1x)
|
value.vWarp.1=Minimal (1x)
|
||||||
value.vWarp.2=Low (2x)
|
value.vWarp.2=Low (2x)
|
||||||
|
@ -33,7 +38,11 @@ value.vWarp.8=High (8x)
|
||||||
value.vWarp.16=Extreme (16x)
|
value.vWarp.16=Extreme (16x)
|
||||||
value.vWarp.32=Silly (32x)
|
value.vWarp.32=Silly (32x)
|
||||||
option.tWarp=Texture Warping
|
option.tWarp=Texture Warping
|
||||||
option.tWarp.comment=Emulates affine texture mapping responsible for warping textures on the PSX
|
option.tWarp.comment=Emulates affine texture mapping responsible for warping textures on the Playstation
|
||||||
|
|
||||||
|
screen.REALITY=Project Reality (1996)
|
||||||
|
option.hBlur=Horizontal Blur
|
||||||
|
option.hBlur.comment=Emulates the blur responsible for reducing LCD clarity on the N64
|
||||||
|
|
||||||
screen.FX=FX
|
screen.FX=FX
|
||||||
option.dof=Depth of Field
|
option.dof=Depth of Field
|
||||||
|
|
|
@ -1,24 +1,31 @@
|
||||||
sliders=pixelSize hueSteps satSteps valSteps rgbSteps vWarp
|
sliders=pixelSize hueSteps satSteps valSteps rgbSteps vWarp
|
||||||
|
|
||||||
# -- PROFILES --
|
# -- PROFILES --
|
||||||
profile.DEFAULT=pixelSize=2 colorMode=0 dithering hueSteps=4 satSteps=4 valSteps=4 vWarp=0 !tWarp
|
profile.DEFAULT=pixelSize=2 colorMode=0 dithering hueSteps=4 satSteps=4 valSteps=4 vWarp=0 !tWarp !hBlur
|
||||||
profile.AEON=pixelSize=1 colorMode=0 dithering hueSteps=8 satSteps=4 valSteps=4 vWarp=0 !tWarp
|
profile.AEON=pixelSize=1 colorMode=0 dithering hueSteps=8 satSteps=4 valSteps=4 vWarp=0 !tWarp !hBlur
|
||||||
profile.DOS=pixelSize=4 colorMode=1 dithering rgbSteps=2 vWarp=1 !tWarp
|
profile.DOS=pixelSize=4 colorMode=1 dithering rgbSteps=2 vWarp=1 !tWarp !hBlur
|
||||||
profile.PSX=pixelSize=2 colorMode=1 !dithering rgbSteps=16 vWarp=2 tWarp
|
profile.PSX=pixelSize=2 colorMode=1 !dithering rgbSteps=16 vWarp=2 tWarp !hBlur
|
||||||
profile.VR32=pixelSize=8 colorMode=0 !dithering hueSteps=2 satSteps=2 valSteps=2 vWarp=1 !tWarp
|
profile.REALITY=profile.PSX !tWarp hBlur
|
||||||
|
profile.VR32=pixelSize=8 colorMode=0 !dithering hueSteps=2 satSteps=2 valSteps=2 vWarp=1 !tWarp !hBlur
|
||||||
|
|
||||||
# -- SCREENS --
|
# -- SCREENS --
|
||||||
# default
|
# default
|
||||||
screen=<profile> <empty> pixelSize <empty> [COLOR] [PSX] [FX]
|
screen=<profile> <empty> pixelSize <empty> [COLOR] [SCREEN] [CONSOLE] [FX]
|
||||||
|
|
||||||
# colors
|
# colors
|
||||||
screen.COLOR.columns=3
|
screen.COLOR.columns=3
|
||||||
screen.COLOR=colorMode dithering <empty> rgbSteps <empty> <empty> hueSteps satSteps valSteps
|
screen.COLOR=colorMode dithering <empty> rgbSteps <empty> <empty> hueSteps satSteps valSteps
|
||||||
|
|
||||||
# psx
|
# screen effects
|
||||||
screen.PSX=vWarp tWarp
|
screen.SCREEN=<empty>
|
||||||
|
|
||||||
# fx
|
# console effects
|
||||||
|
screen.CONSOLE.columns=1
|
||||||
|
screen.CONSOLE=[PSX] [REALITY]
|
||||||
|
screen.PSX=vWarp tWarp # playstation
|
||||||
|
screen.REALITY=hBlur # nintendo 64
|
||||||
|
|
||||||
|
# custom effects
|
||||||
screen.FX=dof dofRes worldCurvature
|
screen.FX=dof dofRes worldCurvature
|
||||||
|
|
||||||
# -- CONDITIONALS --
|
# -- CONDITIONALS --
|
||||||
|
|
Loading…
Reference in a new issue