// license:BSD-3-Clause
// copyright-holders:Ryan Holtz,ImJezze
//============================================================
//
//  scanline.json: Scanline shader for CRT simulation.
//
//============================================================
{
	"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": "chains/hlsl/vs_scanline",
	"fragment": "chains/hlsl/fs_scanline",
	"uniforms": [
		{ "name": "s_tex",                    "type": "int",  "values": [ 0.0 ] },
		{ "name": "u_swap_xy",                "type": "vec4", "values": [   0.0,   0.0, 0.0, 0.0 ] },
		{ "name": "u_source_dims",            "type": "vec4", "values": [ 256.0, 256.0, 0.0, 0.0 ] },
		{ "name": "u_target_dims",            "type": "vec4", "values": [ 256.0, 256.0, 0.0, 0.0 ] },
		{ "name": "u_quad_dims",              "type": "vec4", "values": [ 256.0, 256.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_scanline_height",        "type": "vec4", "values": [   1.0,   0.0, 0.0, 0.0 ] },
		{ "name": "u_scanline_variation",     "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_inv_view_dims",          "type": "vec4", "values": [   1.0,   1.0, 0.0, 0.0 ] }
	]
}
