Files
video-shader-toys/shaders/greenscreen-key/shader.json
Aiden f322abf79a
Some checks failed
CI / React UI Build (push) Successful in 11s
CI / Native Windows Build And Tests (push) Successful in 2m22s
CI / Windows Release Package (push) Has been cancelled
updates
2026-05-08 18:07:45 +10:00

248 lines
5.4 KiB
JSON

{
"id": "greenscreen-key",
"name": "Greenscreen Key",
"description": "Production-style green/blue screen keyer with matte refinement, despill, edge treatment, and debug views.",
"category": "Keying",
"entryPoint": "shadeVideo",
"passes": [
{
"id": "rawMatte",
"source": "shader.slang",
"entryPoint": "buildRawMatte",
"inputs": ["layerInput"],
"output": "rawMatte"
},
{
"id": "refinedMatte",
"source": "shader.slang",
"entryPoint": "refineMatte",
"inputs": ["rawMatte"],
"output": "refinedMatte"
},
{
"id": "final",
"source": "shader.slang",
"entryPoint": "applyKey",
"inputs": ["refinedMatte"],
"output": "layerOutput"
}
],
"parameters": [
{
"id": "screenColor",
"label": "Screen Color",
"type": "color",
"default": [0.15, 0.85, 0.2, 1.0],
"min": [0.0, 0.0, 0.0, 0.0],
"max": [1.0, 1.0, 1.0, 1.0],
"step": [0.01, 0.01, 0.01, 0.01]
},
{
"id": "threshold",
"label": "Screen Gain",
"type": "float",
"default": 0.24,
"min": 0.01,
"max": 0.8,
"step": 0.005
},
{
"id": "softness",
"label": "Softness",
"type": "float",
"default": 0.16,
"min": 0.001,
"max": 0.5,
"step": 0.005
},
{
"id": "screenBalance",
"label": "Screen Balance",
"type": "float",
"default": 0.5,
"min": 0.0,
"max": 1.0,
"step": 0.005
},
{
"id": "screenPreBlur",
"label": "Screen PreBlur",
"type": "float",
"default": 1.0,
"min": 0.0,
"max": 8.0,
"step": 0.1
},
{
"id": "erodeDilate",
"label": "Erode/Dilate",
"type": "float",
"default": 0.0,
"min": -0.3,
"max": 0.3,
"step": 0.005
},
{
"id": "matteBlur",
"label": "Matte Blur",
"type": "float",
"default": 1.25,
"min": 0.0,
"max": 6.0,
"step": 0.1
},
{
"id": "matteGamma",
"label": "Matte Gamma",
"type": "float",
"default": 1.0,
"min": 0.25,
"max": 4.0,
"step": 0.01
},
{
"id": "matteContrast",
"label": "Matte Contrast",
"type": "float",
"default": 1.0,
"min": 0.25,
"max": 4.0,
"step": 0.01
},
{
"id": "blackCleanup",
"label": "Black Cleanup",
"type": "float",
"default": 0.0,
"min": 0.0,
"max": 1.0,
"step": 0.005
},
{
"id": "whiteCleanup",
"label": "White Cleanup",
"type": "float",
"default": 0.0,
"min": 0.0,
"max": 1.0,
"step": 0.005
},
{
"id": "despill",
"label": "Despill",
"type": "float",
"default": 0.45,
"min": 0.0,
"max": 1.5,
"step": 0.01
},
{
"id": "despillBias",
"label": "Despill Bias",
"type": "float",
"default": 0.0,
"min": -0.5,
"max": 0.5,
"step": 0.005
},
{
"id": "spillTint",
"label": "Spill Tint",
"type": "color",
"default": [1.0, 1.0, 1.0, 1.0],
"min": [0.0, 0.0, 0.0, 0.0],
"max": [1.0, 1.0, 1.0, 1.0],
"step": [0.01, 0.01, 0.01, 0.01]
},
{
"id": "edgeRecover",
"label": "Edge Recover",
"type": "float",
"default": 0.18,
"min": 0.0,
"max": 1.0,
"step": 0.005
},
{
"id": "edgeColor",
"label": "Edge Color",
"type": "color",
"default": [1.0, 1.0, 1.0, 1.0],
"min": [0.0, 0.0, 0.0, 0.0],
"max": [1.0, 1.0, 1.0, 1.0],
"step": [0.01, 0.01, 0.01, 0.01]
},
{
"id": "clipBlack",
"label": "Clip Black",
"type": "float",
"default": 0.0,
"min": 0.0,
"max": 0.5,
"step": 0.005
},
{
"id": "clipWhite",
"label": "Clip White",
"type": "float",
"default": 1.0,
"min": 0.5,
"max": 1.0,
"step": 0.005
},
{
"id": "cropLeft",
"label": "Crop Left",
"description": "Trims the final matte from the left edge as a fraction of frame width.",
"type": "float",
"default": 0.0,
"min": 0.0,
"max": 0.5,
"step": 0.001
},
{
"id": "cropRight",
"label": "Crop Right",
"description": "Trims the final matte from the right edge as a fraction of frame width.",
"type": "float",
"default": 0.0,
"min": 0.0,
"max": 0.5,
"step": 0.001
},
{
"id": "cropTop",
"label": "Crop Top",
"description": "Trims the final matte from the top edge as a fraction of frame height.",
"type": "float",
"default": 0.0,
"min": 0.0,
"max": 0.5,
"step": 0.001
},
{
"id": "cropBottom",
"label": "Crop Bottom",
"description": "Trims the final matte from the bottom edge as a fraction of frame height.",
"type": "float",
"default": 0.0,
"min": 0.0,
"max": 0.5,
"step": 0.001
},
{
"id": "viewMode",
"label": "View",
"type": "enum",
"default": "composite",
"options": [
{ "value": "composite", "label": "Composite" },
{ "value": "matte", "label": "Matte" },
{ "value": "spill", "label": "Spill" },
{ "value": "despill", "label": "Despill" },
{ "value": "status", "label": "Status" }
]
}
]
}