mame/bgfx/chains/crt-geom-deluxe.json

365 lines
9.7 KiB
JSON
Raw Normal View History

{
"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": "aperture_brightboost",
"text": "Shadow mask brightness boost",
"default": 0.4,
"max" : 1.0,
"min" : 0.0,
"step" : 0.05,
"format": "%1.2f",
"screen": "raster" },
{ "type": "float",
"name": "spot_size",
"text": "Spot size minimum",
"default": 0.3,
"max" : 0.5,
"min" : 0.1,
"step" : 0.01,
"format": "%1.2f",
"screen": "raster" },
{ "type": "float",
"name": "spot_growth",
"text": "Spot size dilation",
"default": 0.1,
"max" : 0.4,
"min" : 0.0,
"step" : 0.01,
"format": "%1.2f",
"screen": "raster" },
{ "type": "float",
"name": "spot_growth_power",
"text": "Spot dilation onset power",
"default": 3.0,
"max" : 4.0,
"min" : 0.2,
"step" : 0.1,
"format": "%1.1f",
"screen": "raster" },
{ "type": "float",
"name": "lowpass_cutoff",
"text": "Lowpass cutoff pixels/scanline",
"default":1000.0,
"max" :1000.0,
"min" : 100.0,
"step" : 10.0,
"format": "%1.0f",
"screen": "raster" },
{ "type": "float",
"name": "lowpass_width",
"text": "Lowpass width",
"default": 80.0,
"max" : 300.0,
"min" : 0.0,
"step" : 10.0,
"format": "%1.0f",
"screen": "raster" },
{ "type": "intenum",
"name": "x_interpolation",
"text": "Horizontal interpolation",
"default": 2,
"max" : 5,
"min" : 0,
"step" : 1,
"format": "%s",
"strings": [ "box", "linear", "Lanczos", "Catmull-Rom", "Mitchell-Netravali", "B-spline" ],
"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_cutoff",
"text": "Phosphor decay cutoff frames",
"default": 300.0,
"max" : 1000.0,
"min" : 10.0,
"step" : 10.0,
"format": "%1.0f",
"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": "rasterbloom_smooth",
"text": "Raster bloom temporal smoothing",
"default": 0.5,
"max" : 0.99,
"min" : 0.0,
"step" : 0.01,
"format": "%1.2f",
"screen": "raster" },
{ "type": "float",
"name": "rasterbloom",
"text": "Raster bloom amplitude",
"default": 0.01,
"max" : 0.1,
"min" : 0.0,
"step" : 0.001,
"format": "%1.3f",
"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.0 ],
"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": "mipmap",
"mode": "guest"
},
{ "name": "blur",
"mode": "guest"
},
{ "name": "phosphor",
"mode": "guest"
}
],
"passes": [
{
"effect": "crt-geom/lowpass",
"name": "lowpass",
"uniforms": [
{ "uniform": "u_lowpass_cutoff", "slider": "lowpass_cutoff" },
{ "uniform": "u_lowpass_width", "slider": "lowpass_width" }
],
"input": [
{ "sampler": "s_screen", "target": "screen" }
],
"output": "internal2"
},
{
"effect": "crt-geom/mipmap8",
"name": "mipmap",
"uniforms": [
{ "uniform": "u_smooth", "slider": "rasterbloom_smooth" }
],
"input": [
{ "sampler": "s_screen", "target": "internal2" },
{ "sampler": "s_mipmap", "target": "mipmap" }
],
"output": "mipmap"
},
{
"effect": "crt-geom/phosphor_apply",
"applytint": true,
"name": "phosphor apply",
"uniforms": [
{ "uniform": "u_phosphor_power", "slider": "phosphor_power" },
{ "uniform": "u_phosphor_amplitude","slider": "phosphor_amplitude" },
{ "uniform": "u_phosphor_cutoff", "slider": "phosphor_cutoff" },
{ "uniform": "u_gamma", "slider": "CRTgamma" }
],
"input": [
{ "sampler": "s_screen", "target": "internal2" },
{ "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_phosphor_cutoff", "slider": "phosphor_cutoff" },
{ "uniform": "u_gamma", "slider": "CRTgamma" }
],
"input": [
{ "sampler": "s_screen", "target": "internal2" },
{ "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": "aperture_brightboost","slider": "aperture_brightboost" },
{ "uniform": "spot_size", "slider": "spot_size" },
{ "uniform": "spot_growth", "slider": "spot_growth" },
{ "uniform": "spot_growth_power", "slider": "spot_growth_power" },
{ "uniform": "u_interp", "slider": "x_interpolation" },
{ "uniform": "halation", "slider": "halation" },
{ "uniform": "blurwidth", "slider": "blurwidth" },
{ "uniform": "rasterbloom", "slider": "rasterbloom" }
],
"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" },
{ "sampler": "mipmap_texture", "target": "mipmap" }
],
"output": "output"
}
]
}