{
	"name": "sdrhombus",
	"node_position": {
		"x": 0,
		"y": 0
	},
	"parameters": {
		"cx": 0,
		"cy": 0,
		"h": 0.2,
		"r": 0.3,
		"w": 0.3
	},
	"shader_model": {
		"code": "",
		"global": "float sdr_ndot(vec2 a, vec2 b) { return a.x*b.x - a.y*b.y; }\nfloat sdRhombus(in vec2 p, in vec2 b) {\n    vec2 q = abs(p);\n    float h = clamp((-2.0*sdr_ndot(q,b)+sdr_ndot(b,b))/dot(b,b),-1.0,1.0);\n    float d = length( q - 0.5*b*vec2(1.0-h,1.0+h) );\n    return d * sign( q.x*b.y + q.y*b.x - b.x*b.y );\n}",
		"inputs": [

		],
		"instance": "",
		"name": "sdRhombus",
		"outputs": [
			{
				"f": "sdRhombus($uv-0.5*vec2($cx+1.0, $cy+1.0), vec2($w, $h))",
				"type": "f"
			}
		],
		"parameters": [
			{
				"default": 0.5,
				"label": "Width",
				"max": 1,
				"min": 0,
				"name": "w",
				"step": 0.01,
				"type": "float"
			},
			{
				"default": 1,
				"label": "Height",
				"max": 1,
				"min": 0,
				"name": "h",
				"step": 0.01,
				"type": "float"
			},
			{
				"default": 0,
				"label": "Center X",
				"max": 1,
				"min": -1,
				"name": "cx",
				"step": 0.01,
				"type": "float"
			},
			{
				"default": 0,
				"label": "Center Y",
				"max": 1,
				"min": -1,
				"name": "cy",
				"step": 0.01,
				"type": "float"
			}
		]
	},
	"type": "shader"
}