diff options
| author | 2021-01-23 05:04:48 +0100 | |
|---|---|---|
| committer | 2021-01-23 15:04:48 +1100 | |
| commit | 42a2b0006b087a9d5253ff8120dd1585485f12e7 (patch) | |
| tree | e095b7b3f9dac7d0c42395bc6169945cd932f256 /bgfx | |
| parent | 47359c7285b3b430bdb871ea16ceca8f6273bb24 (diff) | |
bgfx: Added lcd-grid shader. (#7691)
Note that this is currently only compiled for GLSL.
Diffstat (limited to 'bgfx')
| -rw-r--r-- | bgfx/chains/lcd-grid.json | 148 | ||||
| -rw-r--r-- | bgfx/effects/lcd-grid/lcd-grid.json | 37 | ||||
| -rw-r--r-- | bgfx/effects/lcd-grid/persistence.json | 27 | ||||
| -rw-r--r-- | bgfx/shaders/glsl/chains/lcd-grid/fs_lcd-grid.bin | bin | 0 -> 10731 bytes | |||
| -rw-r--r-- | bgfx/shaders/glsl/chains/lcd-grid/fs_persistence.bin | bin | 0 -> 319 bytes | |||
| -rw-r--r-- | bgfx/shaders/glsl/chains/lcd-grid/vs_lcd-grid.bin | bin | 0 -> 381 bytes | |||
| -rw-r--r-- | bgfx/shaders/glsl/chains/lcd-grid/vs_persistence.bin | bin | 0 -> 381 bytes |
7 files changed, 212 insertions, 0 deletions
diff --git a/bgfx/chains/lcd-grid.json b/bgfx/chains/lcd-grid.json new file mode 100644 index 00000000000..d2a94049e7b --- /dev/null +++ b/bgfx/chains/lcd-grid.json @@ -0,0 +1,148 @@ +{ + "name": "lcd-grid", + "author": "cgwg", + "sliders": [ + { "type": "float", + "name": "persistence", + "text": "Persistence", + "default": 0.1, + "max" : 0.99, + "min" : 0.0, + "step" : 0.01, + "format": "%1.2f", + "screen": "lcd" }, + { "type": "float", + "name": "gain", + "text": "Gain", + "default": 1.0, + "max" : 2.0, + "min" : -1.0, + "step" : 0.01, + "format": "%1.2f", + "screen": "lcd" }, + { "type": "float", + "name": "blacklevel", + "text": "Black level", + "default": 0.0, + "max" : 2.0, + "min" : -1.0, + "step" : 0.01, + "format": "%1.2f", + "screen": "lcd" }, + { "type": "float", + "name": "ambient", + "text": "Ambient", + "default": 0.0, + "max" : 2.0, + "min" : -1.0, + "step" : 0.01, + "format": "%1.2f", + "screen": "lcd" }, + { "type": "float", + "name": "LCDgamma", + "text": "Gamma of simulated LCD", + "default": 2.2, + "max" : 4.0, + "min" : 0.7, + "step" : 0.05, + "format": "%1.2f", + "screen": "raster" }, + { "type": "float", + "name": "monitorgamma", + "text": "Gamma of output display", + "default": 2.2, + "max" : 4.0, + "min" : 0.7, + "step" : 0.05, + "format": "%1.2f", + "screen": "lcd" }, + { "type": "intenum", + "name": "BGR", + "text": "Subpixel layout", + "default": 0, + "max" : 1, + "min" : 0, + "step" : 1, + "format": "%s", + "screen": "lcd", + "strings": [ "RGB", "BGR" ] }, + { "type": "vec2", + "name": "subpixsize", + "text": "Subpixel size ", + "default": [0.5,0.63], + "max" : [1.0,1.0], + "min" : [0.1,0.1], + "step" : 0.01, + "format": "%1.2f", + "screen": "lcd" }, + { "type": "color", + "name": "rsubpix", + "text": "R subpixel ", + "default": [1.0,0.0,0.0], + "max" : [1.0,1.0,1.0], + "min" : [0.0,0.0,0.0], + "step" : 0.01, + "format": "%1.2f", + "screen": "lcd" }, + { "type": "color", + "name": "gsubpix", + "text": "G subpixel ", + "default": [0.0,1.0,0.0], + "max" : [1.0,1.0,1.0], + "min" : [0.0,0.0,0.0], + "step" : 0.01, + "format": "%1.2f", + "screen": "lcd" }, + { "type": "color", + "name": "bsubpix", + "text": "B subpixel ", + "default": [0.0,0.0,1.0], + "max" : [1.0,1.0,1.0], + "min" : [0.0,0.0,0.0], + "step" : 0.01, + "format": "%1.2f", + "screen": "lcd" } + ], + "targets": [ + { "name": "motionblur", + "mode": "guest" + } + ], + "passes": [ + { + "effect": "lcd-grid/persistence", + "name": "LCD persistence", + "uniforms": [ + { "uniform": "u_persistence", "slider": "persistence" } + ], + "input": [ + { "sampler": "s_screen", "target": "screen" }, + { "sampler": "s_motionblur","target": "motionblur" } + ], + "output": "motionblur" + }, + { + "effect": "lcd-grid/lcd-grid", + "applytint": true, + "name": "LCD", + "uniforms": [ + { "uniform": "u_rsubpix", "slider": "rsubpix" }, + { "uniform": "u_gsubpix", "slider": "gsubpix" }, + { "uniform": "u_bsubpix", "slider": "bsubpix" }, + { "uniform": "u_gain", "slider": "gain" }, + { "uniform": "u_blacklevel","slider": "blacklevel" }, + { "uniform": "u_ambient", "slider": "ambient" }, + { "uniform": "u_LCDgamma", "slider": "LCDgamma" }, + { "uniform": "u_monitorgamma","slider": "monitorgamma" }, + { "uniform": "u_subpixsize","slider": "subpixsize" }, + { "uniform": "u_BGR", "slider": "BGR" } + ], + + "input": [ + { "sampler": "s_tex", "target": "motionblur" } + ], + + "output": "output" + } + ] +} diff --git a/bgfx/effects/lcd-grid/lcd-grid.json b/bgfx/effects/lcd-grid/lcd-grid.json new file mode 100644 index 00000000000..4526a101aaf --- /dev/null +++ b/bgfx/effects/lcd-grid/lcd-grid.json @@ -0,0 +1,37 @@ +{ + "blend": { + "equation": "add", + "srcColor": "1", + "dstColor": "0", + "srcAlpha": "1", + "dstAlpha": "0" + }, + "depth": { + "function": "always", + "writeenable": false + }, + "cull": { + "mode": "none" + }, + "write": { + "rgb": true, + "alpha": true + }, + "vertex": "chains/lcd-grid/vs_lcd-grid", + "fragment": "chains/lcd-grid/fs_lcd-grid", + "uniforms": [ + { "name": "s_tex", "type": "int", "values": [ 0 ] }, + { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }, + { "name": "u_quad_dims", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }, + { "name": "u_rsubpix", "type": "vec4", "values": [ 1.0, 0.0, 0.0, 0.0 ] }, + { "name": "u_gsubpix", "type": "vec4", "values": [ 0.0, 1.0, 0.0, 0.0 ] }, + { "name": "u_bsubpix", "type": "vec4", "values": [ 0.0, 0.0, 1.0, 0.0 ] }, + { "name": "u_gain", "type": "vec4", "values": [ 1.0, 0.0, 0.0, 0.0 ] }, + { "name": "u_blacklevel","type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] }, + { "name": "u_ambient", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] }, + { "name": "u_BGR", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] }, + { "name": "u_subpixsize","type": "vec4", "values": [ 0.5, 0.63, 0.0, 0.0 ] }, + { "name": "u_LCDgamma", "type": "vec4", "values": [ 2.2, 0.0, 0.0, 0.0 ] }, + { "name": "u_monitorgamma","type":"vec4","values": [ 2.2, 0.0, 0.0, 0.0 ] } + ] +} diff --git a/bgfx/effects/lcd-grid/persistence.json b/bgfx/effects/lcd-grid/persistence.json new file mode 100644 index 00000000000..27c8109c8c1 --- /dev/null +++ b/bgfx/effects/lcd-grid/persistence.json @@ -0,0 +1,27 @@ +{ + "blend": { + "equation": "add", + "srcColor": "1", + "dstColor": "0", + "srcAlpha": "1", + "dstAlpha": "0" + }, + "depth": { + "function": "always", + "writeenable": false + }, + "cull": { + "mode": "none" + }, + "write": { + "rgb": true, + "alpha": true + }, + "vertex": "chains/lcd-grid/vs_persistence", + "fragment": "chains/lcd-grid/fs_persistence", + "uniforms": [ + { "name": "s_screen", "type": "int", "values": [ 0 ] }, + { "name": "s_motionblur","type": "int", "values": [ 1 ] }, + { "name": "u_persistence","type":"vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] } + ] +} diff --git a/bgfx/shaders/glsl/chains/lcd-grid/fs_lcd-grid.bin b/bgfx/shaders/glsl/chains/lcd-grid/fs_lcd-grid.bin Binary files differnew file mode 100644 index 00000000000..f832cf34166 --- /dev/null +++ b/bgfx/shaders/glsl/chains/lcd-grid/fs_lcd-grid.bin diff --git a/bgfx/shaders/glsl/chains/lcd-grid/fs_persistence.bin b/bgfx/shaders/glsl/chains/lcd-grid/fs_persistence.bin Binary files differnew file mode 100644 index 00000000000..a9b2161043a --- /dev/null +++ b/bgfx/shaders/glsl/chains/lcd-grid/fs_persistence.bin diff --git a/bgfx/shaders/glsl/chains/lcd-grid/vs_lcd-grid.bin b/bgfx/shaders/glsl/chains/lcd-grid/vs_lcd-grid.bin Binary files differnew file mode 100644 index 00000000000..f09fdcd6fd8 --- /dev/null +++ b/bgfx/shaders/glsl/chains/lcd-grid/vs_lcd-grid.bin diff --git a/bgfx/shaders/glsl/chains/lcd-grid/vs_persistence.bin b/bgfx/shaders/glsl/chains/lcd-grid/vs_persistence.bin Binary files differnew file mode 100644 index 00000000000..f09fdcd6fd8 --- /dev/null +++ b/bgfx/shaders/glsl/chains/lcd-grid/vs_persistence.bin |
