mirror of
https://github.com/Relintai/material-maker.git
synced 2024-12-23 21:16:54 +01:00
192 lines
3.9 KiB
Plaintext
192 lines
3.9 KiB
Plaintext
{
|
|
"name": "tex3d_pattern",
|
|
"node_position": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"parameters": {
|
|
"mix": 4,
|
|
"x_scale": 2,
|
|
"x_wave": 2,
|
|
"y_scale": 2,
|
|
"y_wave": 2,
|
|
"z_scale": 2,
|
|
"z_wave": 2
|
|
},
|
|
"shader_model": {
|
|
"code": "",
|
|
"global": "float wave3d_constant(float x) {\n\treturn 1.0;\n}\n\nfloat wave3d_sine(float x) {\n\treturn 0.5-0.5*cos(3.14159265359*2.0*x);\n}\n\nfloat wave3d_triangle(float x) {\n\tx = fract(x);\n\treturn min(2.0*x, 2.0-2.0*x);\n}\n\nfloat wave3d_sawtooth(float x) {\n\treturn fract(x);\n}\n\nfloat wave3d_square(float x) {\n\treturn (fract(x) < 0.5) ? 0.0 : 1.0;\n}\n\nfloat wave3d_bounce(float x) {\n\tx = 2.0*(fract(x)-0.5);\n\treturn sqrt(1.0-x*x);\n}\n\nfloat mix3d_mul(float x, float y, float z) {\n\treturn x*y*z;\n}\n\nfloat mix3d_add(float x, float y, float z) {\n\treturn min(x+y+z, 1.0);\n}\n\nfloat mix3d_max(float x, float y, float z) {\n\treturn max(max(x, y), z);\n}\n\nfloat mix_min(float x, float y, float z) {\n\treturn min(min(x, y), z);\n}\n\nfloat mix3d_xor(float x, float y, float z) {\n\tfloat xy = min(x+y, 2.0-x-y);\n\treturn min(xy+z, 2.0-xy-z);\n}\n\nfloat mix3d_pow(float x, float y, float z) {\n\treturn pow(pow(x, y), z);\n}",
|
|
"inputs": [
|
|
|
|
],
|
|
"instance": "float $(name)_fct(vec3 uv) {\n\treturn mix3d_$(mix)(wave3d_$(x_wave)($(x_scale)*uv.x), wave3d_$(y_wave)($(y_scale)*uv.y), wave3d_$(z_wave)($(z_scale)*uv.z));\n}",
|
|
"name": "TEX3D Pattern",
|
|
"outputs": [
|
|
{
|
|
"tex3d": "vec3($(name)_fct($(uv).xyz))",
|
|
"type": "tex3d"
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"default": 0,
|
|
"label": "Combiner",
|
|
"name": "mix",
|
|
"type": "enum",
|
|
"values": [
|
|
{
|
|
"name": "Multiply",
|
|
"value": "mul"
|
|
},
|
|
{
|
|
"name": "Add",
|
|
"value": "add"
|
|
},
|
|
{
|
|
"name": "Max",
|
|
"value": "max"
|
|
},
|
|
{
|
|
"name": "Min",
|
|
"value": "min"
|
|
},
|
|
{
|
|
"name": "Xor",
|
|
"value": "xor"
|
|
},
|
|
{
|
|
"name": "Pow",
|
|
"value": "pow"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": 0,
|
|
"label": "X",
|
|
"name": "x_wave",
|
|
"type": "enum",
|
|
"values": [
|
|
{
|
|
"name": "Sine",
|
|
"value": "sine"
|
|
},
|
|
{
|
|
"name": "Triangle",
|
|
"value": "triangle"
|
|
},
|
|
{
|
|
"name": "Square",
|
|
"value": "square"
|
|
},
|
|
{
|
|
"name": "Sawtooth",
|
|
"value": "sawtooth"
|
|
},
|
|
{
|
|
"name": "Constant",
|
|
"value": "constant"
|
|
},
|
|
{
|
|
"name": "Bounce",
|
|
"value": "bounce"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"control": "None",
|
|
"default": 4,
|
|
"label": "2:",
|
|
"max": 32,
|
|
"min": 0,
|
|
"name": "x_scale",
|
|
"step": 1,
|
|
"type": "float"
|
|
},
|
|
{
|
|
"default": 0,
|
|
"label": "Y",
|
|
"name": "y_wave",
|
|
"type": "enum",
|
|
"values": [
|
|
{
|
|
"name": "Sine",
|
|
"value": "sine"
|
|
},
|
|
{
|
|
"name": "Triangle",
|
|
"value": "triangle"
|
|
},
|
|
{
|
|
"name": "Square",
|
|
"value": "square"
|
|
},
|
|
{
|
|
"name": "Sawtooth",
|
|
"value": "sawtooth"
|
|
},
|
|
{
|
|
"name": "Constant",
|
|
"value": "constant"
|
|
},
|
|
{
|
|
"name": "Bounce",
|
|
"value": "bounce"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"control": "None",
|
|
"default": 4,
|
|
"label": "3:",
|
|
"max": 32,
|
|
"min": 0,
|
|
"name": "y_scale",
|
|
"step": 1,
|
|
"type": "float"
|
|
},
|
|
{
|
|
"default": 0,
|
|
"label": "Z",
|
|
"name": "z_wave",
|
|
"type": "enum",
|
|
"values": [
|
|
{
|
|
"name": "Sine",
|
|
"value": "sine"
|
|
},
|
|
{
|
|
"name": "Triangle",
|
|
"value": "triangle"
|
|
},
|
|
{
|
|
"name": "Square",
|
|
"value": "square"
|
|
},
|
|
{
|
|
"name": "Sawtooth",
|
|
"value": "sawtooth"
|
|
},
|
|
{
|
|
"name": "Constant",
|
|
"value": "constant"
|
|
},
|
|
{
|
|
"name": "Bounce",
|
|
"value": "bounce"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"control": "None",
|
|
"default": 4,
|
|
"label": "4:",
|
|
"max": 32,
|
|
"min": 0,
|
|
"name": "z_scale",
|
|
"step": 1,
|
|
"type": "float"
|
|
}
|
|
]
|
|
},
|
|
"type": "shader"
|
|
} |