summaryrefslogtreecommitdiffstatshomepage
path: root/bgfx
diff options
context:
space:
mode:
author therealmogminer@gmail.com <therealmogminer@gmail.com>2016-03-15 05:17:38 +0100
committer therealmogminer@gmail.com <therealmogminer@gmail.com>2016-03-15 05:17:38 +0100
commitb212e5dc2ef472f3ac449377fd00c6b7b824de85 (patch)
treeb204e93d83ca3a362d57c302e00621916c8a10fd /bgfx
parent9c33c40b824b7db5a484d1c2633ecadbd6d48a03 (diff)
Add most of the rest of the D3D HLSL chain, nw
Diffstat (limited to 'bgfx')
-rw-r--r--bgfx/chains/hlsl.json174
-rw-r--r--bgfx/effects/bloom_scale.json23
-rw-r--r--bgfx/effects/defocus.json26
-rw-r--r--bgfx/effects/distortion.json29
-rw-r--r--bgfx/effects/ntsc_decode.json3
-rw-r--r--bgfx/effects/ntsc_encode.json3
-rw-r--r--bgfx/effects/post.json49
-rw-r--r--bgfx/shaders/dx11/fs_blit.binbin38808 -> 40856 bytes
-rw-r--r--bgfx/shaders/dx11/fs_color.binbin41211 -> 43259 bytes
-rw-r--r--bgfx/shaders/dx11/fs_deconverge.binbin41062 -> 41062 bytes
-rw-r--r--bgfx/shaders/dx11/fs_defocus.binbin0 -> 47854 bytes
-rw-r--r--bgfx/shaders/dx11/fs_distortion.binbin0 -> 56047 bytes
-rw-r--r--bgfx/shaders/dx11/fs_gui.binbin38808 -> 40856 bytes
-rw-r--r--bgfx/shaders/dx11/fs_ntsc_decode.binbin59140 -> 58921 bytes
-rw-r--r--bgfx/shaders/dx11/fs_ntsc_encode.binbin48340 -> 48189 bytes
-rw-r--r--bgfx/shaders/dx11/fs_phosphor.binbin41138 -> 41094 bytes
-rw-r--r--bgfx/shaders/dx11/fs_post.binbin0 -> 57905 bytes
-rw-r--r--bgfx/shaders/dx11/fs_ratios.binbin41118 -> 41118 bytes
-rw-r--r--bgfx/shaders/dx11/fs_screen.binbin38808 -> 40856 bytes
-rw-r--r--bgfx/shaders/dx11/fs_tint.binbin38963 -> 41011 bytes
-rw-r--r--bgfx/shaders/dx11/vs_blit.binbin38987 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_color.binbin38987 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_deconverge.binbin43858 -> 43891 bytes
-rw-r--r--bgfx/shaders/dx11/vs_defocus.binbin0 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_distortion.binbin0 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_gui.binbin38987 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_ntsc_decode.binbin38987 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_ntsc_encode.binbin38987 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_phosphor.binbin38987 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_post.binbin0 -> 41216 bytes
-rw-r--r--bgfx/shaders/dx11/vs_ratios.binbin38987 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_screen.binbin38987 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_tint.binbin38987 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx9/fs_blit.binbin605 -> 605 bytes
-rw-r--r--bgfx/shaders/dx9/fs_color.binbin1483 -> 1483 bytes
-rw-r--r--bgfx/shaders/dx9/fs_deconverge.binbin1026 -> 1026 bytes
-rw-r--r--bgfx/shaders/dx9/fs_defocus.binbin0 -> 1822 bytes
-rw-r--r--bgfx/shaders/dx9/fs_distortion.binbin0 -> 4891 bytes
-rw-r--r--bgfx/shaders/dx9/fs_gui.binbin645 -> 645 bytes
-rw-r--r--bgfx/shaders/dx9/fs_ntsc_decode.binbin7756 -> 7473 bytes
-rw-r--r--bgfx/shaders/dx9/fs_ntsc_encode.binbin3552 -> 3249 bytes
-rw-r--r--bgfx/shaders/dx9/fs_phosphor.binbin1103 -> 975 bytes
-rw-r--r--bgfx/shaders/dx9/fs_post.binbin0 -> 5172 bytes
-rw-r--r--bgfx/shaders/dx9/fs_ratios.binbin1171 -> 1171 bytes
-rw-r--r--bgfx/shaders/dx9/fs_screen.binbin605 -> 605 bytes
-rw-r--r--bgfx/shaders/dx9/fs_tint.binbin896 -> 896 bytes
-rw-r--r--bgfx/shaders/dx9/vs_blit.binbin886 -> 886 bytes
-rw-r--r--bgfx/shaders/dx9/vs_color.binbin886 -> 886 bytes
-rw-r--r--bgfx/shaders/dx9/vs_deconverge.binbin2037 -> 2010 bytes
-rw-r--r--bgfx/shaders/dx9/vs_defocus.binbin0 -> 890 bytes
-rw-r--r--bgfx/shaders/dx9/vs_distortion.binbin0 -> 890 bytes
-rw-r--r--bgfx/shaders/dx9/vs_gui.binbin886 -> 886 bytes
-rw-r--r--bgfx/shaders/dx9/vs_ntsc_decode.binbin894 -> 894 bytes
-rw-r--r--bgfx/shaders/dx9/vs_ntsc_encode.binbin894 -> 894 bytes
-rw-r--r--bgfx/shaders/dx9/vs_phosphor.binbin890 -> 890 bytes
-rw-r--r--bgfx/shaders/dx9/vs_post.binbin0 -> 1163 bytes
-rw-r--r--bgfx/shaders/dx9/vs_ratios.binbin886 -> 886 bytes
-rw-r--r--bgfx/shaders/dx9/vs_screen.binbin886 -> 886 bytes
-rw-r--r--bgfx/shaders/dx9/vs_tint.binbin886 -> 886 bytes
-rw-r--r--bgfx/shaders/gles/fs_defocus.binbin0 -> 1156 bytes
-rw-r--r--bgfx/shaders/gles/fs_distortion.binbin0 -> 3931 bytes
-rw-r--r--bgfx/shaders/gles/fs_ntsc_decode.binbin7008 -> 6676 bytes
-rw-r--r--bgfx/shaders/gles/fs_ntsc_encode.binbin3162 -> 3035 bytes
-rw-r--r--bgfx/shaders/gles/fs_phosphor.binbin599 -> 651 bytes
-rw-r--r--bgfx/shaders/gles/fs_post.binbin0 -> 4396 bytes
-rw-r--r--bgfx/shaders/gles/vs_deconverge.binbin1565 -> 1608 bytes
-rw-r--r--bgfx/shaders/gles/vs_defocus.binbin0 -> 419 bytes
-rw-r--r--bgfx/shaders/gles/vs_distortion.binbin0 -> 419 bytes
-rw-r--r--bgfx/shaders/gles/vs_post.binbin0 -> 750 bytes
-rw-r--r--bgfx/shaders/glsl/fs_defocus.binbin0 -> 1121 bytes
-rw-r--r--bgfx/shaders/glsl/fs_distortion.binbin0 -> 3752 bytes
-rw-r--r--bgfx/shaders/glsl/fs_ntsc_decode.binbin6620 -> 6318 bytes
-rw-r--r--bgfx/shaders/glsl/fs_ntsc_encode.binbin3002 -> 2881 bytes
-rw-r--r--bgfx/shaders/glsl/fs_phosphor.binbin520 -> 613 bytes
-rw-r--r--bgfx/shaders/glsl/fs_post.binbin0 -> 4166 bytes
-rw-r--r--bgfx/shaders/glsl/vs_deconverge.binbin1451 -> 1488 bytes
-rw-r--r--bgfx/shaders/glsl/vs_defocus.binbin0 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/vs_distortion.binbin0 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/vs_post.binbin0 -> 684 bytes
-rw-r--r--bgfx/shaders/metal/fs_defocus.binbin0 -> 2475 bytes
-rw-r--r--bgfx/shaders/metal/fs_distortion.binbin0 -> 4349 bytes
-rw-r--r--bgfx/shaders/metal/fs_ntsc_decode.binbin7457 -> 7152 bytes
-rw-r--r--bgfx/shaders/metal/fs_ntsc_encode.binbin3700 -> 3577 bytes
-rw-r--r--bgfx/shaders/metal/fs_phosphor.binbin1066 -> 1116 bytes
-rw-r--r--bgfx/shaders/metal/fs_post.binbin0 -> 4828 bytes
-rw-r--r--bgfx/shaders/metal/vs_deconverge.binbin1709 -> 1733 bytes
-rw-r--r--bgfx/shaders/metal/vs_defocus.binbin0 -> 757 bytes
-rw-r--r--bgfx/shaders/metal/vs_distortion.binbin0 -> 757 bytes
-rw-r--r--bgfx/shaders/metal/vs_post.binbin0 -> 1048 bytes
89 files changed, 293 insertions, 14 deletions
diff --git a/bgfx/chains/hlsl.json b/bgfx/chains/hlsl.json
index d9d85020bd5..6e7c82af52a 100644
--- a/bgfx/chains/hlsl.json
+++ b/bgfx/chains/hlsl.json
@@ -26,12 +26,40 @@
{ "type": "vec2", "name": "converge_red", "text": "Red Convergence, ", "default": [ 0, 0 ], "max": [ 8000, 6000 ], "min": [ -8000, -6000 ], "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" },
{ "type": "vec2", "name": "converge_green", "text": "Green Convergence, ", "default": [ 0, 0 ], "max": [ 8000, 6000 ], "min": [ -8000, -6000 ], "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" },
{ "type": "vec2", "name": "converge_blue", "text": "Blue Convergence, ", "default": [ 0, 0 ], "max": [ 8000, 6000 ], "min": [ -8000, -6000 ], "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" },
- { "type": "vec2", "name": "radial_converge_red", "text": "Red Convergence, ", "default": [ 0, 0 ], "max": [ 8000, 6000 ], "min": [ -8000, -6000 ], "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" },
- { "type": "vec2", "name": "radial_converge_green", "text": "Green Convergence, ", "default": [ 0, 0 ], "max": [ 8000, 6000 ], "min": [ -8000, -6000 ], "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" },
- { "type": "vec2", "name": "radial_converge_blue", "text": "Blue Convergence, ", "default": [ 0, 0 ], "max": [ 8000, 6000 ], "min": [ -8000, -6000 ], "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" }
+
+ { "type": "vec2", "name": "radial_converge_red", "text": "Red Radial Convergence, ", "default": [ 0, 0 ], "max": [ 8000, 6000 ], "min": [ -8000, -6000 ], "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" },
+ { "type": "vec2", "name": "radial_converge_green", "text": "Green Radial Convergence, ", "default": [ 0, 0 ], "max": [ 8000, 6000 ], "min": [ -8000, -6000 ], "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" },
+ { "type": "vec2", "name": "radial_converge_blue", "text": "Blue Radial Convergence, ", "default": [ 0, 0 ], "max": [ 8000, 6000 ], "min": [ -8000, -6000 ], "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" },
+
+ { "type": "vec2", "name": "defocus", "text": "Defocus, ", "default": [ 0, 0 ], "max": [ 500, 500 ], "min": [ 0, 0 ], "step": 1, "scale": 0.1, "format": "%2.1f", "screen": "crt" },
+
+ { "type": "color", "name": "phosphor", "text": "Phosphor Persistence, ", "default": [ 0, 0, 0 ], "max": [ 100, 100, 100 ], "min": [ 0, 0, 0 ], "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" },
+
+ { "type": "float", "name": "scanline_alpha", "text": "Scanline Amount", "default": 0, "max": 100, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" },
+ { "type": "float", "name": "scanline_scale", "text": "Overall Scanline Scale", "default": 100, "max": 400, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" },
+ { "type": "float", "name": "scanline_bright_scale", "text": "Scanline Brightness Scale", "default": 100, "max": 400, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" },
+ { "type": "float", "name": "scanline_bright_offset", "text": "Scanline Brightness Offset", "default": 0, "max": 400, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" },
+ { "type": "float", "name": "scanline_jitter_amount", "text": "Scanline Jitter Amount", "default": 0, "max": 400, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" },
+ { "type": "float", "name": "scanline_height", "text": "Individual Scanline Scale", "default": 100, "max": 400, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" },
+ { "type": "float", "name": "shadow_alpha", "text": "Shadow Mask Amount", "default": 0, "max": 100, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" },
+ { "type": "vec2", "name": "shadow_count", "text": "Shadow Mask Pixel Count ", "default": [ 60, 40 ], "max": [ 400, 400 ], "min": [ 0, 0 ], "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" },
+ { "type": "vec2", "name": "shadow_uv_size", "text": "Shadow Mask UV Size ", "default": [ 48, 64 ], "max": [ 256, 256 ], "min": [ 0, 0 ], "step": 1, "scale": 0.00390625, "format": "%1.7f", "screen": "crt" },
+ { "type": "vec2", "name": "shadow_uv_offset", "text": "Shadow Mask UV Offset ", "default": [ 0, 0 ], "max": [ 256, 256 ], "min": [ 0, 0 ], "step": 1, "scale": 0.00390625, "format": "%1.7f", "screen": "crt" },
+ { "type": "int_enum", "name": "shadow_tile_mode", "text": "Shadow Mask Tile Mode", "default": 0, "max": 1, "min": 0, "step": 1, "scale": 1.0, "format": "%s", "screen": "crt", "strings": [ "Screen", "Source" ] },
+ { "type": "float", "name": "humbar_alpha", "text": "Hum Bar Amount", "default": 0, "max": 100, "min": 0, "step": 1, "scale": 0.01, "format": "%1.7f", "screen": "crt" },
+ { "type": "float", "name": "humbar_hertz_rate", "text": "Hum Bar Frequency", "default": 100, "max": 10000, "min": 0, "step": 1, "scale": 0.00001, "format": "%1.2f", "screen": "crt" },
+ { "type": "color", "name": "floor", "text": "Signal Floor, ", "default": [ 0, 0, 0 ], "max": [ 100, 100, 100 ], "min": [ 0, 0, 0 ], "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" },
+ { "type": "color", "name": "power", "text": "Signal Exponent, ", "default": [ 100, 100, 100 ], "max": [ 400, 400, 400 ], "min": [ 0, 0, 0 ], "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" },
+
+ { "type": "float", "name": "curvature", "text": "Screen Curvature Amount", "default": 0, "max": 200, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" },
+ { "type": "float", "name": "round_corner", "text": "Rounded Corner Amount", "default": 0, "max": 200, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" },
+ { "type": "float", "name": "smooth_border", "text": "Smooth Border Amount", "default": 0, "max": 200, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" },
+ { "type": "float", "name": "vignetting", "text": "Vignetting Amount", "default": 0, "max": 200, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" },
+ { "type": "float", "name": "reflection", "text": "Reflection Amount", "default": 0, "max": 200, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" }
],
"parameters": [
- { "name": "jitter", "type": "frame", "period": 2 }
+ { "name": "jitter", "type": "frame", "period": 2 },
+ { "name": "time", "type": "time", "limit": 0.0 }
],
"targets": [
{
@@ -40,12 +68,6 @@
"prescale": 1,
"doublebuffer": true
},
- {
- "name": "deadend",
- "mode": "guest",
- "prescale": 1,
- "doublebuffer": true
- },
{ "name": "native",
"mode": "native",
"prescale": 1,
@@ -55,6 +77,12 @@
"mode": "native",
"prescale": 1,
"doublebuffer": true
+ },
+ { "name": "bloom",
+ "mode": "native",
+ "prescale": 1,
+ "doublebuffer": true,
+ "pyramid": true
}
],
"passes": [
@@ -141,6 +169,15 @@
},
{ "effect": "deconverge",
"name": "Deconvergence",
+ "disablewhen": [
+ { "type": "slider", "condition": "equal", "combine": "or", "name": "adjustments", "value": 0 },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "converge_red", "value": [ 0, 0 ] },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "converge_green", "value": [ 0, 0 ] },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "converge_blue", "value": [ 0, 0 ] },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "radial_converge_red", "value": [ 0, 0 ] },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "radial_converge_green", "value": [ 0, 0 ] },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "radial_converge_blue", "value": [ 0, 0 ] }
+ ],
"uniforms": [
{ "uniform": "u_converge_red", "slider": "converge_red" },
{ "uniform": "u_converge_green", "slider": "converge_green" },
@@ -153,6 +190,123 @@
{ "sampler": "DiffuseSampler", "texture": "native" }
],
"output": "native"
+ },
+ { "effect": "defocus",
+ "name": "Defocus Pass 1",
+ "disablewhen": [
+ { "type": "slider", "condition": "equal", "combine": "or", "name": "adjustments", "value": 0 },
+ { "type": "slider", "condition": "equal", "combine": "or", "name": "defocus", "value": [ 0, 0 ] }
+ ],
+ "uniforms": [
+ { "uniform": "u_defocus", "slider": "defocus" }
+ ],
+ "input": [
+ { "sampler": "DiffuseSampler", "texture": "native" }
+ ],
+ "output": "native"
+ },
+ { "effect": "defocus",
+ "name": "Defocus Pass 2",
+ "disablewhen": [
+ { "type": "slider", "condition": "equal", "combine": "or", "name": "adjustments", "value": 0 },
+ { "type": "slider", "condition": "equal", "combine": "or", "name": "defocus", "value": [ 0, 0 ] }
+ ],
+ "uniforms": [
+ { "uniform": "u_defocus", "slider": "defocus" }
+ ],
+ "input": [
+ { "sampler": "DiffuseSampler", "texture": "native" }
+ ],
+ "output": "native"
+ },
+ { "effect": "phosphor",
+ "name": "Phosphor Decay",
+ "disablewhen": [
+ { "type": "slider", "condition": "equal", "combine": "or", "name": "adjustments", "value": 0 },
+ { "type": "slider", "condition": "equal", "combine": "or", "name": "phosphor", "value": [ 0, 0, 0 ] }
+ ],
+ "uniforms": [
+ { "uniform": "u_passthrough", "value": [ 0 ] },
+ { "uniform": "u_phosphor", "slider": "phosphor" }
+ ],
+ "input": [
+ { "sampler": "s_tex", "texture": "native" },
+ { "sampler": "s_prev", "texture": "previous" }
+ ],
+ "output": "native"
+ },
+ { "effect": "phosphor",
+ "name": "Phosphor Store",
+ "disablewhen": [
+ { "type": "slider", "condition": "equal", "combine": "or", "name": "adjustments", "value": 0 },
+ { "type": "slider", "condition": "equal", "combine": "or", "name": "phosphor", "value": [ 0, 0, 0 ] }
+ ],
+ "uniforms": [
+ { "uniform": "u_passthrough", "value": [ 1 ] },
+ { "uniform": "u_phosphor", "slider": "phosphor" }
+ ],
+ "input": [
+ { "sampler": "s_tex", "texture": "native" },
+ { "sampler": "s_prev", "texture": "native" }
+ ],
+ "output": "previous"
+ },
+ { "effect": "post",
+ "name": "Non-Bloom Post Pass",
+ "disablewhen": [
+ { "type": "slider", "condition": "equal", "combine": "or", "name": "adjustments", "value": 0 },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "scanline_alpha", "value": 0.0 },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "shadow_alpha", "value": 0.0 },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "humbar_alpha", "value": 0.0 },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "floor", "value": [ 0, 0, 0 ] },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "power", "value": [ 0, 0, 0 ] }
+ ],
+ "textures": [ { "name": "shadow" } ],
+ "uniforms": [
+ { "uniform": "u_scanline_alpha", "slider": "scanline_alpha" },
+ { "uniform": "u_scanline_scale", "slider": "scanline_scale" },
+ { "uniform": "u_scanline_bright_scale", "slider": "scanline_bright_scale" },
+ { "uniform": "u_scanline_bright_offset", "slider": "scanline_bright_offset" },
+ { "uniform": "u_shadow_alpha", "slider": "shadow_alpha" },
+ { "uniform": "u_shadow_count", "slider": "shadow_count" },
+ { "uniform": "u_shadow_uv", "slider": "shadow_uv_size" },
+ { "uniform": "u_shadow_uv_offset", "slider": "shadow_uv_offset" },
+ { "uniform": "u_shadow_tile_mode", "slider": "shadow_tile_mode" },
+ { "uniform": "u_humbar_alpha", "slider": "humbar_alpha" },
+ { "uniform": "u_humbar_hertz_rate", "slider": "humbar_hertz_rate" },
+ { "uniform": "u_floor", "slider": "floor" },
+ { "uniform": "u_power", "slider": "power" },
+ { "uniform": "u_scanline_jitter", "slider": "scanline_jitter_amount" },
+ { "uniform": "u_jitter_amount", "parameter": "jitter" },
+ { "uniform": "u_time", "parameter": "time" }
+ ],
+ "input": [
+ { "sampler": "DiffuseSampler", "texture": "native" },
+ { "sampler": "ShadowSampler", "texture": "shadow" }
+ ],
+ "output": "native"
+ },
+ { "effect": "distortion",
+ "name": "Distortion Pass",
+ "disablewhen": [
+ { "type": "slider", "condition": "equal", "combine": "or", "name": "adjustments", "value": 0 },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "curvature", "value": 0.0 },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "round_corner", "value": 0.0 },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "smooth_border", "value": 0.0 },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "vignetting", "value": 0.0 },
+ { "type": "slider", "condition": "equal", "combine": "and", "name": "reflection", "value": 0.0 }
+ ],
+ "uniforms": [
+ { "uniform": "u_curvature", "slider": "curvature" },
+ { "uniform": "u_round_corner", "slider": "round_corner" },
+ { "uniform": "u_smooth_border", "slider": "smooth_border" },
+ { "uniform": "u_vignetting", "slider": "vignetting" },
+ { "uniform": "u_reflection", "slider": "reflection" }
+ ],
+ "input": [
+ { "sampler": "DiffuseSampler", "texture": "native" }
+ ],
+ "output": "native"
}
],
"output": "native"
diff --git a/bgfx/effects/bloom_scale.json b/bgfx/effects/bloom_scale.json
new file mode 100644
index 00000000000..0dfcdcee712
--- /dev/null
+++ b/bgfx/effects/bloom_scale.json
@@ -0,0 +1,23 @@
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "srcAlpha",
+ "dstColor": "1-srcAlpha",
+ "srcAlpha": "srcAlpha",
+ "dstAlpha": "1-srcAlpha"
+ },
+ "depth": {
+ "function": "always"
+ },
+ "cull": { "mode": "none" },
+ "write": {
+ "rgb": "true",
+ "alpha": "true"
+ },
+ "vertex": "vs_bloom_scale",
+ "fragment": "fs_bloom_scale",
+ "uniforms": [
+ { "name": "DiffuseSampler", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_source_dims", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/defocus.json b/bgfx/effects/defocus.json
new file mode 100644
index 00000000000..bfbba4b388a
--- /dev/null
+++ b/bgfx/effects/defocus.json
@@ -0,0 +1,26 @@
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "srcAlpha",
+ "dstColor": "1-srcAlpha",
+ "srcAlpha": "srcAlpha",
+ "dstAlpha": "1-srcAlpha"
+ },
+ "depth": {
+ "function": "always"
+ },
+ "cull": { "mode": "none" },
+ "write": {
+ "rgb": "true",
+ "alpha": "true"
+ },
+ "vertex": "vs_defocus",
+ "fragment": "fs_defocus",
+ "uniforms": [
+ { "name": "DiffuseSampler", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_screen_dims", "type": "vec4", "values": [ 1.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_swap_xy", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_quad_dims", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_defocus", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/distortion.json b/bgfx/effects/distortion.json
new file mode 100644
index 00000000000..785a1e8ee4d
--- /dev/null
+++ b/bgfx/effects/distortion.json
@@ -0,0 +1,29 @@
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "srcAlpha",
+ "dstColor": "1-srcAlpha",
+ "srcAlpha": "srcAlpha",
+ "dstAlpha": "1-srcAlpha"
+ },
+ "depth": {
+ "function": "always"
+ },
+ "cull": { "mode": "none" },
+ "write": {
+ "rgb": "true",
+ "alpha": "true"
+ },
+ "vertex": "vs_distortion",
+ "fragment": "fs_distortion",
+ "uniforms": [
+ { "name": "DiffuseSampler", "type": "int", "values": [ 0.0 ] },
+ { "name": "u_screen_dims", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_curvature", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_round_corner", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_smooth_border", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_vignetting", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_reflection", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_rotation_type", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/ntsc_decode.json b/bgfx/effects/ntsc_decode.json
index fdbdb847146..ba57ae65f26 100644
--- a/bgfx/effects/ntsc_decode.json
+++ b/bgfx/effects/ntsc_decode.json
@@ -18,8 +18,7 @@
"fragment": "fs_ntsc_decode",
"uniforms": [
{ "name": "DiffuseSampler", "type": "int", "values": [ 1.0 ] },
- { "name": "u_texsize", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
- { "name": "u_screenrect", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
+ { "name": "u_source_dims", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] },
{ "name": "u_a_value", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
{ "name": "u_b_value", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
{ "name": "u_cc_value", "type": "vec4", "values": [ 3.5795454, 0.0, 0.0, 0.0 ] },
diff --git a/bgfx/effects/ntsc_encode.json b/bgfx/effects/ntsc_encode.json
index b0284799839..4d622b0dc10 100644
--- a/bgfx/effects/ntsc_encode.json
+++ b/bgfx/effects/ntsc_encode.json
@@ -18,8 +18,7 @@
"fragment": "fs_ntsc_encode",
"uniforms": [
{ "name": "DiffuseSampler", "type": "int", "values": [ 1.0 ] },
- { "name": "u_texsize", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
- { "name": "u_screenrect", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
+ { "name": "u_source_dims", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] },
{ "name": "u_a_value", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
{ "name": "u_b_value", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
{ "name": "u_cc_value", "type": "vec4", "values": [ 3.5795454, 0.0, 0.0, 0.0 ] },
diff --git a/bgfx/effects/post.json b/bgfx/effects/post.json
new file mode 100644
index 00000000000..3afcc66b7ef
--- /dev/null
+++ b/bgfx/effects/post.json
@@ -0,0 +1,49 @@
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "srcAlpha",
+ "dstColor": "1-srcAlpha",
+ "srcAlpha": "srcAlpha",
+ "dstAlpha": "1-srcAlpha"
+ },
+ "depth": {
+ "function": "always"
+ },
+ "cull": { "mode": "none" },
+ "write": {
+ "rgb": "true",
+ "alpha": "true"
+ },
+ "vertex": "vs_post",
+ "fragment": "fs_post",
+ "uniforms": [
+ { "name": "DiffuseSampler", "type": "int", "values": [ 0.0 ] },
+ { "name": "ShadowSampler", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_swap_xy", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_screen_dims", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] },
+ { "name": "u_source_dims", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] },
+ { "name": "u_shadow_dims", "type": "vec4", "values": [ 32.0, 32.0, 0.0, 0.0 ] },
+ { "name": "u_shadow_uv_offset", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_prepare_bloom", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_prepare_vector", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_humbar_hertz_rate", "type": "vec4", "values": [ 0.001, 0.0, 0.0, 0.0 ] },
+ { "name": "u_humbar_alpha", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_time", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_screen_scale", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] },
+ { "name": "u_screen_offset", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_scanline_alpha", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_scanline_scale", "type": "vec4", "values": [ 1.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_scanline_bright_scale", "type": "vec4", "values": [ 1.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_scanline_bright_offset", "type": "vec4", "values": [ 1.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_scanline_jitter", "type": "vec4", "values": [ 1.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_jitter_amount", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_scanline_height", "type": "vec4", "values": [ 1.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_back_color", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_shadow_tile_mode", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_shadow_alpha", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_shadow_count", "type": "vec4", "values": [ 6.0, 4.0, 0.0, 0.0 ] },
+ { "name": "u_shadow_uv", "type": "vec4", "values": [ 0.25, 0.25, 0.0, 0.0 ] },
+ { "name": "u_power", "type": "vec4", "values": [ 1.0, 1.0, 1.0, 0.0 ] },
+ { "name": "u_floor", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/shaders/dx11/fs_blit.bin b/bgfx/shaders/dx11/fs_blit.bin
index bcc74538c33..c395c6baf64 100644
--- a/bgfx/shaders/dx11/fs_blit.bin
+++ b/bgfx/shaders/dx11/fs_blit.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_color.bin b/bgfx/shaders/dx11/fs_color.bin
index 29925bc9dd2..3682b2f778b 100644
--- a/bgfx/shaders/dx11/fs_color.bin
+++ b/bgfx/shaders/dx11/fs_color.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_deconverge.bin b/bgfx/shaders/dx11/fs_deconverge.bin
index 7c949f52c1d..abf36790d75 100644
--- a/bgfx/shaders/dx11/fs_deconverge.bin
+++ b/bgfx/shaders/dx11/fs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_defocus.bin b/bgfx/shaders/dx11/fs_defocus.bin
new file mode 100644
index 00000000000..4ae1928129d
--- /dev/null
+++ b/bgfx/shaders/dx11/fs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_distortion.bin b/bgfx/shaders/dx11/fs_distortion.bin
new file mode 100644
index 00000000000..5d9fc697609
--- /dev/null
+++ b/bgfx/shaders/dx11/fs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_gui.bin b/bgfx/shaders/dx11/fs_gui.bin
index ab00cc60da6..d08762737a0 100644
--- a/bgfx/shaders/dx11/fs_gui.bin
+++ b/bgfx/shaders/dx11/fs_gui.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_ntsc_decode.bin b/bgfx/shaders/dx11/fs_ntsc_decode.bin
index 0b32595c26b..5052d7790f5 100644
--- a/bgfx/shaders/dx11/fs_ntsc_decode.bin
+++ b/bgfx/shaders/dx11/fs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_ntsc_encode.bin b/bgfx/shaders/dx11/fs_ntsc_encode.bin
index f9f9d79fcdb..a797593e409 100644
--- a/bgfx/shaders/dx11/fs_ntsc_encode.bin
+++ b/bgfx/shaders/dx11/fs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_phosphor.bin b/bgfx/shaders/dx11/fs_phosphor.bin
index bdea6c132ea..13c34469be7 100644
--- a/bgfx/shaders/dx11/fs_phosphor.bin
+++ b/bgfx/shaders/dx11/fs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_post.bin b/bgfx/shaders/dx11/fs_post.bin
new file mode 100644
index 00000000000..ae60d4bcca0
--- /dev/null
+++ b/bgfx/shaders/dx11/fs_post.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_ratios.bin b/bgfx/shaders/dx11/fs_ratios.bin
index 0c321faea93..38c7bda2b75 100644
--- a/bgfx/shaders/dx11/fs_ratios.bin
+++ b/bgfx/shaders/dx11/fs_ratios.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_screen.bin b/bgfx/shaders/dx11/fs_screen.bin
index b8102b8b1c0..0a90b724289 100644
--- a/bgfx/shaders/dx11/fs_screen.bin
+++ b/bgfx/shaders/dx11/fs_screen.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_tint.bin b/bgfx/shaders/dx11/fs_tint.bin
index bae1d78d0b5..3aaeb95dc94 100644
--- a/bgfx/shaders/dx11/fs_tint.bin
+++ b/bgfx/shaders/dx11/fs_tint.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_blit.bin b/bgfx/shaders/dx11/vs_blit.bin
index ef289c07bb2..4d10fa1dae0 100644
--- a/bgfx/shaders/dx11/vs_blit.bin
+++ b/bgfx/shaders/dx11/vs_blit.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_color.bin b/bgfx/shaders/dx11/vs_color.bin
index 1f44cbbc0c3..400a7013784 100644
--- a/bgfx/shaders/dx11/vs_color.bin
+++ b/bgfx/shaders/dx11/vs_color.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_deconverge.bin b/bgfx/shaders/dx11/vs_deconverge.bin
index f41efa6ecc2..a924a1404f4 100644
--- a/bgfx/shaders/dx11/vs_deconverge.bin
+++ b/bgfx/shaders/dx11/vs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_defocus.bin b/bgfx/shaders/dx11/vs_defocus.bin
new file mode 100644
index 00000000000..61126720672
--- /dev/null
+++ b/bgfx/shaders/dx11/vs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_distortion.bin b/bgfx/shaders/dx11/vs_distortion.bin
new file mode 100644
index 00000000000..3134e562a72
--- /dev/null
+++ b/bgfx/shaders/dx11/vs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_gui.bin b/bgfx/shaders/dx11/vs_gui.bin
index 0645a268fc4..2b2bf90facd 100644
--- a/bgfx/shaders/dx11/vs_gui.bin
+++ b/bgfx/shaders/dx11/vs_gui.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_ntsc_decode.bin b/bgfx/shaders/dx11/vs_ntsc_decode.bin
index b52ec9d374d..38720f9f4e7 100644
--- a/bgfx/shaders/dx11/vs_ntsc_decode.bin
+++ b/bgfx/shaders/dx11/vs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_ntsc_encode.bin b/bgfx/shaders/dx11/vs_ntsc_encode.bin
index cb37598ab61..a11b50097d1 100644
--- a/bgfx/shaders/dx11/vs_ntsc_encode.bin
+++ b/bgfx/shaders/dx11/vs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_phosphor.bin b/bgfx/shaders/dx11/vs_phosphor.bin
index ca2a6ee9654..decb727a8bd 100644
--- a/bgfx/shaders/dx11/vs_phosphor.bin
+++ b/bgfx/shaders/dx11/vs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_post.bin b/bgfx/shaders/dx11/vs_post.bin
new file mode 100644
index 00000000000..b4a48c5821f
--- /dev/null
+++ b/bgfx/shaders/dx11/vs_post.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_ratios.bin b/bgfx/shaders/dx11/vs_ratios.bin
index 87a97456f61..680a1cf38d3 100644
--- a/bgfx/shaders/dx11/vs_ratios.bin
+++ b/bgfx/shaders/dx11/vs_ratios.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_screen.bin b/bgfx/shaders/dx11/vs_screen.bin
index 4b5f0d0f6f2..bcabfacc022 100644
--- a/bgfx/shaders/dx11/vs_screen.bin
+++ b/bgfx/shaders/dx11/vs_screen.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_tint.bin b/bgfx/shaders/dx11/vs_tint.bin
index 71db63aa558..8b3a17cead0 100644
--- a/bgfx/shaders/dx11/vs_tint.bin
+++ b/bgfx/shaders/dx11/vs_tint.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_blit.bin b/bgfx/shaders/dx9/fs_blit.bin
index 6fb1c1216e5..87431a56e71 100644
--- a/bgfx/shaders/dx9/fs_blit.bin
+++ b/bgfx/shaders/dx9/fs_blit.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_color.bin b/bgfx/shaders/dx9/fs_color.bin
index 5a2d8fade39..a1c0521ad0e 100644
--- a/bgfx/shaders/dx9/fs_color.bin
+++ b/bgfx/shaders/dx9/fs_color.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_deconverge.bin b/bgfx/shaders/dx9/fs_deconverge.bin
index 013c9d6654a..c9628442dc4 100644
--- a/bgfx/shaders/dx9/fs_deconverge.bin
+++ b/bgfx/shaders/dx9/fs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_defocus.bin b/bgfx/shaders/dx9/fs_defocus.bin
new file mode 100644
index 00000000000..044c0f02dbd
--- /dev/null
+++ b/bgfx/shaders/dx9/fs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_distortion.bin b/bgfx/shaders/dx9/fs_distortion.bin
new file mode 100644
index 00000000000..6e74df22b60
--- /dev/null
+++ b/bgfx/shaders/dx9/fs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_gui.bin b/bgfx/shaders/dx9/fs_gui.bin
index 1f103798a98..ec504cbec18 100644
--- a/bgfx/shaders/dx9/fs_gui.bin
+++ b/bgfx/shaders/dx9/fs_gui.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_ntsc_decode.bin b/bgfx/shaders/dx9/fs_ntsc_decode.bin
index 801e212fe1c..855b1a4575f 100644
--- a/bgfx/shaders/dx9/fs_ntsc_decode.bin
+++ b/bgfx/shaders/dx9/fs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_ntsc_encode.bin b/bgfx/shaders/dx9/fs_ntsc_encode.bin
index 5aff8b1d48c..25f989f1d53 100644
--- a/bgfx/shaders/dx9/fs_ntsc_encode.bin
+++ b/bgfx/shaders/dx9/fs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_phosphor.bin b/bgfx/shaders/dx9/fs_phosphor.bin
index 0166bd2acfa..7fbfb7d2433 100644
--- a/bgfx/shaders/dx9/fs_phosphor.bin
+++ b/bgfx/shaders/dx9/fs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_post.bin b/bgfx/shaders/dx9/fs_post.bin
new file mode 100644
index 00000000000..fb01e30626c
--- /dev/null
+++ b/bgfx/shaders/dx9/fs_post.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_ratios.bin b/bgfx/shaders/dx9/fs_ratios.bin
index d9747d51c78..375debeac28 100644
--- a/bgfx/shaders/dx9/fs_ratios.bin
+++ b/bgfx/shaders/dx9/fs_ratios.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_screen.bin b/bgfx/shaders/dx9/fs_screen.bin
index bbdf62903b4..6599df87a61 100644
--- a/bgfx/shaders/dx9/fs_screen.bin
+++ b/bgfx/shaders/dx9/fs_screen.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_tint.bin b/bgfx/shaders/dx9/fs_tint.bin
index ac548cf447e..1fb18e25c33 100644
--- a/bgfx/shaders/dx9/fs_tint.bin
+++ b/bgfx/shaders/dx9/fs_tint.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_blit.bin b/bgfx/shaders/dx9/vs_blit.bin
index c52010cac50..4e60f251806 100644
--- a/bgfx/shaders/dx9/vs_blit.bin
+++ b/bgfx/shaders/dx9/vs_blit.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_color.bin b/bgfx/shaders/dx9/vs_color.bin
index 86fbcf81c37..2532e2376f1 100644
--- a/bgfx/shaders/dx9/vs_color.bin
+++ b/bgfx/shaders/dx9/vs_color.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_deconverge.bin b/bgfx/shaders/dx9/vs_deconverge.bin
index 856190c4d70..9ac3015468d 100644
--- a/bgfx/shaders/dx9/vs_deconverge.bin
+++ b/bgfx/shaders/dx9/vs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_defocus.bin b/bgfx/shaders/dx9/vs_defocus.bin
new file mode 100644
index 00000000000..cdddfc9b285
--- /dev/null
+++ b/bgfx/shaders/dx9/vs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_distortion.bin b/bgfx/shaders/dx9/vs_distortion.bin
new file mode 100644
index 00000000000..02062b46eeb
--- /dev/null
+++ b/bgfx/shaders/dx9/vs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_gui.bin b/bgfx/shaders/dx9/vs_gui.bin
index 17b1f20ded0..3a63611639e 100644
--- a/bgfx/shaders/dx9/vs_gui.bin
+++ b/bgfx/shaders/dx9/vs_gui.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_ntsc_decode.bin b/bgfx/shaders/dx9/vs_ntsc_decode.bin
index 4bb8a1481ed..34128b63dde 100644
--- a/bgfx/shaders/dx9/vs_ntsc_decode.bin
+++ b/bgfx/shaders/dx9/vs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_ntsc_encode.bin b/bgfx/shaders/dx9/vs_ntsc_encode.bin
index 48501754f93..b4b99825650 100644
--- a/bgfx/shaders/dx9/vs_ntsc_encode.bin
+++ b/bgfx/shaders/dx9/vs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_phosphor.bin b/bgfx/shaders/dx9/vs_phosphor.bin
index 6f14716a6ef..edbe4e5e316 100644
--- a/bgfx/shaders/dx9/vs_phosphor.bin
+++ b/bgfx/shaders/dx9/vs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_post.bin b/bgfx/shaders/dx9/vs_post.bin
new file mode 100644
index 00000000000..9a0e8092fbb
--- /dev/null
+++ b/bgfx/shaders/dx9/vs_post.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_ratios.bin b/bgfx/shaders/dx9/vs_ratios.bin
index db1bb071902..5ce3eb8455d 100644
--- a/bgfx/shaders/dx9/vs_ratios.bin
+++ b/bgfx/shaders/dx9/vs_ratios.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_screen.bin b/bgfx/shaders/dx9/vs_screen.bin
index 2c891cce91a..a1cd3901b69 100644
--- a/bgfx/shaders/dx9/vs_screen.bin
+++ b/bgfx/shaders/dx9/vs_screen.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_tint.bin b/bgfx/shaders/dx9/vs_tint.bin
index c8b53d447d1..7215174a794 100644
--- a/bgfx/shaders/dx9/vs_tint.bin
+++ b/bgfx/shaders/dx9/vs_tint.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_defocus.bin b/bgfx/shaders/gles/fs_defocus.bin
new file mode 100644
index 00000000000..5dcbadcae38
--- /dev/null
+++ b/bgfx/shaders/gles/fs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_distortion.bin b/bgfx/shaders/gles/fs_distortion.bin
new file mode 100644
index 00000000000..b7afea3952d
--- /dev/null
+++ b/bgfx/shaders/gles/fs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_ntsc_decode.bin b/bgfx/shaders/gles/fs_ntsc_decode.bin
index 3676644d741..199ef94c345 100644
--- a/bgfx/shaders/gles/fs_ntsc_decode.bin
+++ b/bgfx/shaders/gles/fs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_ntsc_encode.bin b/bgfx/shaders/gles/fs_ntsc_encode.bin
index 42a30179227..57b92885914 100644
--- a/bgfx/shaders/gles/fs_ntsc_encode.bin
+++ b/bgfx/shaders/gles/fs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_phosphor.bin b/bgfx/shaders/gles/fs_phosphor.bin
index 9ebdaa8f4ce..067b1581379 100644
--- a/bgfx/shaders/gles/fs_phosphor.bin
+++ b/bgfx/shaders/gles/fs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_post.bin b/bgfx/shaders/gles/fs_post.bin
new file mode 100644
index 00000000000..04cbd642e9c
--- /dev/null
+++ b/bgfx/shaders/gles/fs_post.bin
Binary files differ
diff --git a/bgfx/shaders/gles/vs_deconverge.bin b/bgfx/shaders/gles/vs_deconverge.bin
index 0918a47ccb8..7f418b7ac9c 100644
--- a/bgfx/shaders/gles/vs_deconverge.bin
+++ b/bgfx/shaders/gles/vs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/gles/vs_defocus.bin b/bgfx/shaders/gles/vs_defocus.bin
new file mode 100644
index 00000000000..9dd618de8a0
--- /dev/null
+++ b/bgfx/shaders/gles/vs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/gles/vs_distortion.bin b/bgfx/shaders/gles/vs_distortion.bin
new file mode 100644
index 00000000000..9dd618de8a0
--- /dev/null
+++ b/bgfx/shaders/gles/vs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/gles/vs_post.bin b/bgfx/shaders/gles/vs_post.bin
new file mode 100644
index 00000000000..cb059e570a4
--- /dev/null
+++ b/bgfx/shaders/gles/vs_post.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_defocus.bin b/bgfx/shaders/glsl/fs_defocus.bin
new file mode 100644
index 00000000000..dd58019cf32
--- /dev/null
+++ b/bgfx/shaders/glsl/fs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_distortion.bin b/bgfx/shaders/glsl/fs_distortion.bin
new file mode 100644
index 00000000000..a5abb519a56
--- /dev/null
+++ b/bgfx/shaders/glsl/fs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_ntsc_decode.bin b/bgfx/shaders/glsl/fs_ntsc_decode.bin
index aab5144f780..877ddb808c5 100644
--- a/bgfx/shaders/glsl/fs_ntsc_decode.bin
+++ b/bgfx/shaders/glsl/fs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_ntsc_encode.bin b/bgfx/shaders/glsl/fs_ntsc_encode.bin
index 23b12243808..53c7b6fec73 100644
--- a/bgfx/shaders/glsl/fs_ntsc_encode.bin
+++ b/bgfx/shaders/glsl/fs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_phosphor.bin b/bgfx/shaders/glsl/fs_phosphor.bin
index 5996130d730..3f69ea62056 100644
--- a/bgfx/shaders/glsl/fs_phosphor.bin
+++ b/bgfx/shaders/glsl/fs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_post.bin b/bgfx/shaders/glsl/fs_post.bin
new file mode 100644
index 00000000000..e5a745971d7
--- /dev/null
+++ b/bgfx/shaders/glsl/fs_post.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/vs_deconverge.bin b/bgfx/shaders/glsl/vs_deconverge.bin
index fbc57e9c8f8..305aae8f18f 100644
--- a/bgfx/shaders/glsl/vs_deconverge.bin
+++ b/bgfx/shaders/glsl/vs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/vs_defocus.bin b/bgfx/shaders/glsl/vs_defocus.bin
new file mode 100644
index 00000000000..af6c9349f41
--- /dev/null
+++ b/bgfx/shaders/glsl/vs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/vs_distortion.bin b/bgfx/shaders/glsl/vs_distortion.bin
new file mode 100644
index 00000000000..af6c9349f41
--- /dev/null
+++ b/bgfx/shaders/glsl/vs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/vs_post.bin b/bgfx/shaders/glsl/vs_post.bin
new file mode 100644
index 00000000000..624be0f29f0
--- /dev/null
+++ b/bgfx/shaders/glsl/vs_post.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_defocus.bin b/bgfx/shaders/metal/fs_defocus.bin
new file mode 100644
index 00000000000..564475d1b22
--- /dev/null
+++ b/bgfx/shaders/metal/fs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_distortion.bin b/bgfx/shaders/metal/fs_distortion.bin
new file mode 100644
index 00000000000..717075392c9
--- /dev/null
+++ b/bgfx/shaders/metal/fs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_ntsc_decode.bin b/bgfx/shaders/metal/fs_ntsc_decode.bin
index ce6bc5aab2e..d3e0812ca51 100644
--- a/bgfx/shaders/metal/fs_ntsc_decode.bin
+++ b/bgfx/shaders/metal/fs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_ntsc_encode.bin b/bgfx/shaders/metal/fs_ntsc_encode.bin
index c41d301b780..41224f621d4 100644
--- a/bgfx/shaders/metal/fs_ntsc_encode.bin
+++ b/bgfx/shaders/metal/fs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_phosphor.bin b/bgfx/shaders/metal/fs_phosphor.bin
index 5cf08944c95..704d6aacf61 100644
--- a/bgfx/shaders/metal/fs_phosphor.bin
+++ b/bgfx/shaders/metal/fs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_post.bin b/bgfx/shaders/metal/fs_post.bin
new file mode 100644
index 00000000000..6f15dc13093
--- /dev/null
+++ b/bgfx/shaders/metal/fs_post.bin
Binary files differ
diff --git a/bgfx/shaders/metal/vs_deconverge.bin b/bgfx/shaders/metal/vs_deconverge.bin
index 27445eb6010..e7cd9e2e1e9 100644
--- a/bgfx/shaders/metal/vs_deconverge.bin
+++ b/bgfx/shaders/metal/vs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/metal/vs_defocus.bin b/bgfx/shaders/metal/vs_defocus.bin
new file mode 100644
index 00000000000..122b7dee5c3
--- /dev/null
+++ b/bgfx/shaders/metal/vs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/metal/vs_distortion.bin b/bgfx/shaders/metal/vs_distortion.bin
new file mode 100644
index 00000000000..122b7dee5c3
--- /dev/null
+++ b/bgfx/shaders/metal/vs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/metal/vs_post.bin b/bgfx/shaders/metal/vs_post.bin
new file mode 100644
index 00000000000..70298ecb2f8
--- /dev/null
+++ b/bgfx/shaders/metal/vs_post.bin
Binary files differ