Update handheld color shaders to version 8.

This commit is contained in:
Monroe88 2016-12-29 20:05:45 -06:00
parent 8009dea4d7
commit 93afc2f8fe
10 changed files with 247 additions and 30 deletions

View file

@ -0,0 +1,27 @@
shaders = "2"
shader0 = "shaders/color/gba-color.slang"
filter_linear0 = "false"
scale_type0 = "source"
scale0 = "1.0"
shader1 = "shaders/lcd-cgwg/lcd-grid-v2.slang"
filter_linear1 = "false"
scale_type1 = "viewport"
scale1 = "1.0"
parameters = "RSUBPIX_R;RSUBPIX_G;RSUBPIX_B;GSUBPIX_R;GSUBPIX_G;GSUBPIX_B;BSUBPIX_R;BSUBPIX_G;BSUBPIX_B;gain;gamma;blacklevel;ambient;BGR"
RSUBPIX_R = "1.000000"
RSUBPIX_G = "0.000000"
RSUBPIX_B = "0.000000"
GSUBPIX_R = "0.000000"
GSUBPIX_G = "1.000000"
GSUBPIX_B = "0.000000"
BSUBPIX_R = "0.000000"
BSUBPIX_G = "0.000000"
BSUBPIX_B = "1.000000"
gain = "1.250000"
gamma = "3.000000"
blacklevel = "0.050000"
ambient = "0.000000"
BGR = "1.000000"

View file

@ -0,0 +1,32 @@
shaders = "3"
shader0 = "../motionblur/shaders/motionblur-simple.slang"
filter_linear0 = "false"
scale_type0 = "source"
scale0 = "1.0"
shader1 = "shaders/color/nds-color.slang"
filter_linear1 = "false"
scale_type1 = "source"
scale1 = "1.0"
shader2 = "shaders/lcd-cgwg/lcd-grid-v2.slang"
filter_linear2 = "false"
scale_type2 = "viewport"
scale2 = "1.0"
parameters = "RSUBPIX_R;RSUBPIX_G;RSUBPIX_B;GSUBPIX_R;GSUBPIX_G;GSUBPIX_B;BSUBPIX_R;BSUBPIX_G;BSUBPIX_B;gain;gamma;blacklevel;ambient;BGR"
RSUBPIX_R = "1.000000"
RSUBPIX_G = "0.000000"
RSUBPIX_B = "0.000000"
GSUBPIX_R = "0.000000"
GSUBPIX_G = "1.000000"
GSUBPIX_B = "0.000000"
BSUBPIX_R = "0.000000"
BSUBPIX_G = "0.000000"
BSUBPIX_B = "1.000000"
gain = "1.250000"
gamma = "3.000000"
blacklevel = "0.050000"
ambient = "0.000000"
BGR = "1.000000"

View file

@ -0,0 +1,27 @@
shaders = "2"
shader0 = "shaders/color/nds-color.slang"
filter_linear0 = "false"
scale_type0 = "source"
scale0 = "1.0"
shader1 = "shaders/lcd-cgwg/lcd-grid-v2.slang"
filter_linear1 = "false"
scale_type1 = "viewport"
scale1 = "1.0"
parameters = "RSUBPIX_R;RSUBPIX_G;RSUBPIX_B;GSUBPIX_R;GSUBPIX_G;GSUBPIX_B;BSUBPIX_R;BSUBPIX_G;BSUBPIX_B;gain;gamma;blacklevel;ambient;BGR"
RSUBPIX_R = "1.000000"
RSUBPIX_G = "0.000000"
RSUBPIX_B = "0.000000"
GSUBPIX_R = "0.000000"
GSUBPIX_G = "1.000000"
GSUBPIX_B = "0.000000"
BSUBPIX_R = "0.000000"
BSUBPIX_G = "0.000000"
BSUBPIX_B = "1.000000"
gain = "1.250000"
gamma = "3.000000"
blacklevel = "0.050000"
ambient = "0.000000"
BGR = "1.000000"

View file

@ -0,0 +1,32 @@
shaders = "3"
shader0 = "../motionblur/shaders/motionblur-simple.slang"
filter_linear0 = "false"
scale_type0 = "source"
scale0 = "1.0"
shader1 = "shaders/color/psp-color.slang"
filter_linear1 = "false"
scale_type1 = "source"
scale1 = "1.0"
shader2 = "shaders/lcd-cgwg/lcd-grid-v2.slang"
filter_linear2 = "false"
scale_type2 = "viewport"
scale2 = "1.0"
parameters = "RSUBPIX_R;RSUBPIX_G;RSUBPIX_B;GSUBPIX_R;GSUBPIX_G;GSUBPIX_B;BSUBPIX_R;BSUBPIX_G;BSUBPIX_B;gain;gamma;blacklevel;ambient;BGR"
RSUBPIX_R = "1.000000"
RSUBPIX_G = "0.000000"
RSUBPIX_B = "0.000000"
GSUBPIX_R = "0.000000"
GSUBPIX_G = "1.000000"
GSUBPIX_B = "0.000000"
BSUBPIX_R = "0.000000"
BSUBPIX_G = "0.000000"
BSUBPIX_B = "1.000000"
gain = "1.250000"
gamma = "3.000000"
blacklevel = "0.050000"
ambient = "0.000000"
BGR = "1.000000"

View file

@ -0,0 +1,27 @@
shaders = "2"
shader0 = "shaders/color/psp-color.slang"
filter_linear0 = "false"
scale_type0 = "source"
scale0 = "1.0"
shader1 = "shaders/lcd-cgwg/lcd-grid-v2.slang"
filter_linear1 = "false"
scale_type1 = "viewport"
scale1 = "1.0"
parameters = "RSUBPIX_R;RSUBPIX_G;RSUBPIX_B;GSUBPIX_R;GSUBPIX_G;GSUBPIX_B;BSUBPIX_R;BSUBPIX_G;BSUBPIX_B;gain;gamma;blacklevel;ambient;BGR"
RSUBPIX_R = "1.000000"
RSUBPIX_G = "0.000000"
RSUBPIX_B = "0.000000"
GSUBPIX_R = "0.000000"
GSUBPIX_G = "1.000000"
GSUBPIX_B = "0.000000"
BSUBPIX_R = "0.000000"
BSUBPIX_G = "0.000000"
BSUBPIX_B = "1.000000"
gain = "1.250000"
gamma = "3.000000"
blacklevel = "0.050000"
ambient = "0.000000"
BGR = "1.000000"

View file

@ -0,0 +1,32 @@
shaders = "3"
shader0 = "../motionblur/shaders/motionblur-simple.slang"
filter_linear0 = "false"
scale_type0 = "source"
scale0 = "1.0"
shader1 = "shaders/color/vba-color.slang"
filter_linear1 = "false"
scale_type1 = "source"
scale1 = "1.0"
shader2 = "shaders/lcd-cgwg/lcd-grid-v2.slang"
filter_linear2 = "false"
scale_type2 = "viewport"
scale2 = "1.0"
parameters = "RSUBPIX_R;RSUBPIX_G;RSUBPIX_B;GSUBPIX_R;GSUBPIX_G;GSUBPIX_B;BSUBPIX_R;BSUBPIX_G;BSUBPIX_B;gain;gamma;blacklevel;ambient;BGR"
RSUBPIX_R = "1.000000"
RSUBPIX_G = "0.000000"
RSUBPIX_B = "0.000000"
GSUBPIX_R = "0.000000"
GSUBPIX_G = "1.000000"
GSUBPIX_B = "0.000000"
BSUBPIX_R = "0.000000"
BSUBPIX_G = "0.000000"
BSUBPIX_B = "1.000000"
gain = "1.250000"
gamma = "3.000000"
blacklevel = "0.050000"
ambient = "0.000000"
BGR = "1.000000"

View file

@ -0,0 +1,27 @@
shaders = "2"
shader0 = "shaders/color/vba-color.slang"
filter_linear0 = "false"
scale_type0 = "source"
scale0 = "1.0"
shader1 = "shaders/lcd-cgwg/lcd-grid-v2.slang"
filter_linear1 = "false"
scale_type1 = "viewport"
scale1 = "1.0"
parameters = "RSUBPIX_R;RSUBPIX_G;RSUBPIX_B;GSUBPIX_R;GSUBPIX_G;GSUBPIX_B;BSUBPIX_R;BSUBPIX_G;BSUBPIX_B;gain;gamma;blacklevel;ambient;BGR"
RSUBPIX_R = "1.000000"
RSUBPIX_G = "0.000000"
RSUBPIX_B = "0.000000"
GSUBPIX_R = "0.000000"
GSUBPIX_G = "1.000000"
GSUBPIX_B = "0.000000"
BSUBPIX_R = "0.000000"
BSUBPIX_G = "0.000000"
BSUBPIX_B = "1.000000"
gain = "1.250000"
gamma = "3.000000"
blacklevel = "0.050000"
ambient = "0.000000"
BGR = "1.000000"

View file

@ -2,7 +2,7 @@
layout(push_constant) uniform Push
{
float display_gamma;
float darken_screen;
} params;
layout(std140, set = 0, binding = 0) uniform UBO
@ -21,22 +21,23 @@ layout(std140, set = 0, binding = 0) uniform UBO
*/
// Shader that replicates the LCD dynamics from a GameBoy Advance
#pragma parameter display_gamma "Light Intensity" 1.8 1.0 2.5 0.05
#pragma parameter darken_screen "Darken Screen" 0.5 0.0 1.0 0.05
#define target_gamma 2.2
#define display_gamma 2.5
#define sat 1.0
#define lum 1.0
#define lum 0.99
#define contrast 1.0
#define blr 0.0
#define blg 0.0
#define blb 0.0
#define r 0.84
#define g 0.67
#define b 0.74
#define rg 0.08
#define rb 0.17
#define gr 0.16
#define gb 0.09
#define b 0.73
#define rg 0.09
#define rb 0.15
#define gr 0.18
#define gb 0.10
#define br 0.0
#define bg 0.26
#define overscan_percent_x 0.0
@ -60,7 +61,7 @@ layout(set = 0, binding = 2) uniform sampler2D Source;
void main()
{
vec4 screen = pow(texture(Source, vTexCoord), vec4(target_gamma)).rgba;
vec4 screen = pow(texture(Source, vTexCoord), vec4(target_gamma + params.darken_screen)).rgba;
vec4 avglum = vec4(0.5);
screen = mix(screen, avglum, (1.0 - contrast));
@ -77,5 +78,5 @@ mat4 adjust = mat4((1.0 - sat) * 0.3086 + sat, (1.0 - sat) * 0.3086, (1.0 - sat)
color *= adjust;
screen = clamp(screen * lum, 0.0, 1.0);
screen = color * screen;
FragColor = pow(screen, vec4(1.0 / params.display_gamma));
FragColor = pow(screen, vec4(1.0 / display_gamma + (params.darken_screen / 8)));
}

View file

@ -1,5 +1,10 @@
#version 450
layout(push_constant) uniform Push
{
float target_gamma;
} params;
layout(std140, set = 0, binding = 0) uniform UBO
{
mat4 MVP;
@ -14,25 +19,26 @@ layout(std140, set = 0, binding = 0) uniform UBO
Author: hunterk
License: Public domain
*/
// Shader that replicates the LCD dynamics from an Original Nintendo DS
// Shader that replicates the LCD dynamics from a Nintendo DS Phat
#define display_gamma 2.25
#define target_gamma 2.2
#define sat 1.0
#pragma parameter target_gamma "Gamma Mode" 2.0 2.0 2.4 0.2
#define display_gamma 2.20
#define sat 1.01
#define lum 1.0
#define contrast 1.0
#define blr 0.0
#define blg 0.0
#define blb 0.0
#define r 0.77
#define g 0.65
#define r 0.74
#define g 0.63
#define b 0.74
#define rg 0.09
#define rg 0.10
#define rb 0.09
#define gr 0.23
#define gr 0.26
#define gb 0.11
#define br 0.0
#define bg 0.26
#define bg 0.27
#define overscan_percent_x 0.0
#define overscan_percent_y 0.0
@ -54,7 +60,7 @@ layout(set = 0, binding = 2) uniform sampler2D Source;
void main()
{
vec4 screen = pow(texture(Source, vTexCoord), vec4(target_gamma)).rgba;
vec4 screen = pow(texture(Source, vTexCoord), vec4(params.target_gamma)).rgba;
vec4 avglum = vec4(0.5);
screen = mix(screen, avglum, (1.0 - contrast));

View file

@ -1,5 +1,10 @@
#version 450
layout(push_constant) uniform Push
{
float target_gamma;
} params;
layout(std140, set = 0, binding = 0) uniform UBO
{
mat4 MVP;
@ -14,25 +19,26 @@ layout(std140, set = 0, binding = 0) uniform UBO
Author: hunterk
License: Public domain
*/
// Shader that replicates the LCD dynamics from PSP 1000 and PSP 2000
#pragma parameter target_gamma "Gamma Mode" 2.2 2.2 2.4 0.2
#define display_gamma 2.2
#define target_gamma 2.21
#define sat 1.0
#define lum 1.0
#define contrast 1.0
#define blr 0.0
#define blg 0.0
#define blb 0.0
#define r 0.97
#define g 0.75
#define b 0.995
#define rg 0.01
#define rb 0.0025
#define gr 0.005
#define gb 0.0025
#define r 0.95
#define g 0.80
#define b 0.98
#define rg 0.03
#define rb 0.01
#define gr 0.02
#define gb 0.01
#define br 0.0
#define bg 0.24
#define bg 0.17
#define overscan_percent_x 0.0
#define overscan_percent_y 0.0
@ -54,7 +60,7 @@ layout(set = 0, binding = 2) uniform sampler2D Source;
void main()
{
vec4 screen = pow(texture(Source, vTexCoord), vec4(target_gamma)).rgba;
vec4 screen = pow(texture(Source, vTexCoord), vec4(params.target_gamma)).rgba;
vec4 avglum = vec4(0.5);
screen = mix(screen, avglum, (1.0 - contrast));