forked from mamedev/mame
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added crt-geom and crt-geom-deluxe shaders for bgfx.
This includes several aperture grille / shadow mask patterns. Note that these are all designed to be used on a display with RGB subpixel order, and may thus suffer if rotated or used with a BGR display.
- Loading branch information
Showing
88 changed files
with
1,306 additions
and
0 deletions.
There are no files selected for viewing
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,238 @@ | ||
{ | ||
"name": "CRT-geom", | ||
"author": "cgwg", | ||
"sliders": [ | ||
{ "type": "float", | ||
"name": "aperture_strength", | ||
"text": "Shadow mask strength", | ||
"default": 0.4, | ||
"max" : 1.0, | ||
"min" : 0.0, | ||
"step" : 0.05, | ||
"format": "%1.2f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "phosphor_power", | ||
"text": "Phosphor decay power", | ||
"default": 1.2, | ||
"max" : 3.0, | ||
"min" : 0.5, | ||
"step" : 0.05, | ||
"format": "%1.2f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "phosphor_amplitude", | ||
"text": "Phosphor persistence amplitude", | ||
"default": 0.04, | ||
"max" : 0.2, | ||
"min" : 0.0, | ||
"step" : 0.01, | ||
"format": "%1.2f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "halation", | ||
"text": "Halation amplitude", | ||
"default": 0.1, | ||
"max" : 0.3, | ||
"min" : 0.0, | ||
"step" : 0.01, | ||
"format": "%1.2f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "blurwidth", | ||
"text": "Halation blur width", | ||
"default": 2.0, | ||
"max" : 4.0, | ||
"min" : 0.1, | ||
"step" : 0.1, | ||
"format": "%1.1f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "curvature", | ||
"text": "Enable curvature", | ||
"default": 1.0, | ||
"max" : 1.0, | ||
"min" : 0.0, | ||
"step" : 1.0, | ||
"format": "%1.0f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "R", | ||
"text": "Radius of curvature", | ||
"default": 3.5, | ||
"max" : 10.0, | ||
"min" : 0.5, | ||
"step" : 0.1, | ||
"format": "%1.1f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "d", | ||
"text": "Distance to screen", | ||
"default": 2.0, | ||
"max" : 10.0, | ||
"min" : 0.1, | ||
"step" : 0.1, | ||
"format": "%1.1f", | ||
"screen": "raster" }, | ||
{ "type": "vec2", | ||
"name": "angle", | ||
"text": "Tilt ", | ||
"default": [ 0.0,-0.05 ], | ||
"max" : [ 1.0, 1.0 ], | ||
"min" : [-1.0,-1.0 ], | ||
"step" : 0.01, | ||
"format": "%1.2f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "cornersize", | ||
"text": "Rounded corner size", | ||
"default": 0.01, | ||
"max" : 0.10, | ||
"min" : 0.00, | ||
"step" : 0.01, | ||
"format": "%1.2f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "cornersmooth", | ||
"text": "Border smoothness", | ||
"default": 1000, | ||
"max" : 2000, | ||
"min" : 100, | ||
"step" : 100, | ||
"format": "%1.0f", | ||
"screen": "raster" }, | ||
{ "type": "vec2", | ||
"name": "overscan", | ||
"text": "Overscan ", | ||
"default": [ 1.0, 1.0 ], | ||
"max" : [ 1.2, 1.2 ], | ||
"min" : [ 0.8, 0.8 ], | ||
"step" : 0.02, | ||
"format": "%1.2f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "CRTgamma", | ||
"text": "Gamma of simulated CRT", | ||
"default": 2.4, | ||
"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": "raster" }, | ||
{ "type": "vec2", | ||
"name": "aspect", | ||
"text": "Aspect ratio ", | ||
"default": [ 1.0, 0.75 ], | ||
"max" : [ 1.0, 1.0 ], | ||
"min" : [ 0.3, 0.3 ], | ||
"step" : 0.01, | ||
"format": "%1.2f", | ||
"screen": "raster" } | ||
], | ||
"targets": [ | ||
{ "name": "internal1", | ||
"mode": "guest" | ||
}, | ||
{ "name": "internal2", | ||
"mode": "guest" | ||
}, | ||
{ "name": "blur", | ||
"mode": "guest" | ||
}, | ||
{ "name": "phosphor", | ||
"mode": "guest" | ||
} | ||
|
||
], | ||
"passes": [ | ||
{ | ||
"effect": "crt-geom/phosphor_apply", | ||
"name": "phosphor apply", | ||
"uniforms": [ | ||
{ "uniform": "u_phosphor_power", "slider": "phosphor_power" }, | ||
{ "uniform": "u_phosphor_amplitude","slider": "phosphor_amplitude" }, | ||
{ "uniform": "u_gamma", "slider": "CRTgamma" } | ||
], | ||
"input": [ | ||
{ "sampler": "s_screen", "target": "screen" }, | ||
{ "sampler": "s_phosphor", "target": "phosphor" } | ||
], | ||
"output": "internal1" | ||
}, | ||
{ | ||
"effect": "crt-geom/phosphor_update", | ||
"name": "phosphor update", | ||
"uniforms": [ | ||
{ "uniform": "u_phosphor_power", "slider": "phosphor_power" }, | ||
{ "uniform": "u_phosphor_amplitude","slider": "phosphor_amplitude" }, | ||
{ "uniform": "u_gamma", "slider": "CRTgamma" } | ||
], | ||
"input": [ | ||
{ "sampler": "s_screen", "target": "screen" }, | ||
{ "sampler": "s_phosphor", "target": "phosphor" } | ||
], | ||
"output": "phosphor" | ||
}, | ||
{ | ||
"effect": "crt-geom/gaussx", | ||
"name": "Gaussian blur x", | ||
"uniforms": [ | ||
{ "uniform": "u_width", "slider": "blurwidth" }, | ||
{ "uniform": "u_aspect","slider": "aspect" }, | ||
{ "uniform": "u_gamma", "slider": "CRTgamma" } | ||
], | ||
"input": [ | ||
{ "sampler": "s_tex", "target": "internal1" } | ||
], | ||
"output": "internal2" | ||
}, | ||
{ | ||
"effect": "crt-geom/gaussy", | ||
"name": "Gaussian blur y", | ||
"uniforms": [ | ||
{ "uniform": "u_width", "slider": "blurwidth" }, | ||
{ "uniform": "u_aspect","slider": "aspect" }, | ||
{ "uniform": "u_gamma", "slider": "CRTgamma" } | ||
], | ||
"input": [ | ||
{ "sampler": "s_tex", "target": "internal2" } | ||
], | ||
"output": "blur" | ||
}, | ||
{ | ||
"effect": "crt-geom/crt-geom-deluxe", | ||
"name": "CRT", | ||
"uniforms": [ | ||
{ "uniform": "curvature", "slider": "curvature" }, | ||
{ "uniform": "R", "slider": "R" }, | ||
{ "uniform": "d", "slider": "d" }, | ||
{ "uniform": "angle", "slider": "angle" }, | ||
{ "uniform": "cornersize", "slider": "cornersize" }, | ||
{ "uniform": "cornersmooth","slider": "cornersmooth" }, | ||
{ "uniform": "overscan", "slider": "overscan" }, | ||
{ "uniform": "aspect", "slider": "aspect" }, | ||
{ "uniform": "CRTgamma", "slider": "CRTgamma" }, | ||
{ "uniform": "monitorgamma","slider": "monitorgamma" }, | ||
{ "uniform": "aperture_strength","slider": "aperture_strength" }, | ||
{ "uniform": "halation", "slider": "halation" } | ||
], | ||
|
||
"input": [ | ||
{ "sampler": "mpass_texture", "target": "internal1" }, | ||
{ "sampler": "mask_texture", "texture": "bgfx/chains/crt-geom/aperture_1_2_bgr.png", "selection": "Shadow mask" }, | ||
{ "sampler": "blur_texture", "target": "blur" } | ||
], | ||
|
||
"output": "output" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,134 @@ | ||
{ | ||
"name": "CRT-geom", | ||
"author": "cgwg", | ||
"sliders": [ | ||
{ "type": "float", | ||
"name": "aperture_strength", | ||
"text": "Shadow mask strength", | ||
"default": 0.4, | ||
"max" : 1.0, | ||
"min" : 0.0, | ||
"step" : 0.05, | ||
"format": "%1.2f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "curvature", | ||
"text": "Enable curvature", | ||
"default": 1.0, | ||
"max" : 1.0, | ||
"min" : 0.0, | ||
"step" : 1.0, | ||
"format": "%1.0f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "R", | ||
"text": "Radius of curvature", | ||
"default": 3.5, | ||
"max" : 10.0, | ||
"min" : 0.5, | ||
"step" : 0.1, | ||
"format": "%1.1f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "d", | ||
"text": "Distance to screen", | ||
"default": 2.0, | ||
"max" : 10.0, | ||
"min" : 0.1, | ||
"step" : 0.1, | ||
"format": "%1.1f", | ||
"screen": "raster" }, | ||
{ "type": "vec2", | ||
"name": "angle", | ||
"text": "Tilt ", | ||
"default": [ 0.0,-0.05 ], | ||
"max" : [ 1.0, 1.0 ], | ||
"min" : [-1.0,-1.0 ], | ||
"step" : 0.01, | ||
"format": "%1.2f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "cornersize", | ||
"text": "Rounded corner size", | ||
"default": 0.01, | ||
"max" : 0.10, | ||
"min" : 0.00, | ||
"step" : 0.01, | ||
"format": "%1.2f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "cornersmooth", | ||
"text": "Border smoothness", | ||
"default": 1000, | ||
"max" : 2000, | ||
"min" : 100, | ||
"step" : 100, | ||
"format": "%1.0f", | ||
"screen": "raster" }, | ||
{ "type": "vec2", | ||
"name": "overscan", | ||
"text": "Overscan ", | ||
"default": [ 1.0, 1.0 ], | ||
"max" : [ 1.2, 1.2 ], | ||
"min" : [ 0.8, 0.8 ], | ||
"step" : 0.02, | ||
"format": "%1.2f", | ||
"screen": "raster" }, | ||
{ "type": "float", | ||
"name": "CRTgamma", | ||
"text": "Gamma of simulated CRT", | ||
"default": 2.4, | ||
"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": "raster" }, | ||
{ "type": "vec2", | ||
"name": "aspect", | ||
"text": "Aspect ratio ", | ||
"default": [ 1.0, 0.75 ], | ||
"max" : [ 1.0, 1.0 ], | ||
"min" : [ 0.3, 0.3 ], | ||
"step" : 0.01, | ||
"format": "%1.2f", | ||
"screen": "raster" } | ||
], | ||
"targets": [ | ||
|
||
], | ||
"passes": [ | ||
{ | ||
"effect": "crt-geom/crt-geom", | ||
"name": "CRT", | ||
"uniforms": [ | ||
{ "uniform": "curvature", "slider": "curvature" }, | ||
{ "uniform": "R", "slider": "R" }, | ||
{ "uniform": "d", "slider": "d" }, | ||
{ "uniform": "angle", "slider": "angle" }, | ||
{ "uniform": "cornersize", "slider": "cornersize" }, | ||
{ "uniform": "cornersmooth","slider": "cornersmooth" }, | ||
{ "uniform": "overscan", "slider": "overscan" }, | ||
{ "uniform": "aspect", "slider": "aspect" }, | ||
{ "uniform": "CRTgamma", "slider": "CRTgamma" }, | ||
{ "uniform": "monitorgamma","slider": "monitorgamma" }, | ||
{ "uniform": "aperture_strength", "slider": "aperture_strength" } | ||
], | ||
|
||
"input": [ | ||
{ "sampler": "mpass_texture", "target": "screen" }, | ||
{ "sampler": "mask_texture", "texture": "bgfx/chains/crt-geom/aperture_1_2_bgr.png", "selection": "Shadow mask" } | ||
], | ||
|
||
"output": "output" | ||
} | ||
] | ||
} |
Oops, something went wrong.