-
-
Notifications
You must be signed in to change notification settings - Fork 224
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #682 from williamchange/fix-variadic-compatibility
Fix broken compatibility with several new variadic nodes & tex3d_blend tooltips
- Loading branch information
Showing
7 changed files
with
370 additions
and
61 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
{ | ||
"generic_size": 1, | ||
"name": "sdf3d_color", | ||
"node_position": { | ||
"x": 0, | ||
"y": 0 | ||
}, | ||
"parameters": { | ||
"c1": 0.5 | ||
}, | ||
"seed_int": 0, | ||
"shader_model": { | ||
"code": "", | ||
"global": "", | ||
"inputs": [ | ||
{ | ||
"default": "0.0", | ||
"label": "", | ||
"longdesc": "The input 3D object", | ||
"name": "in#", | ||
"shortdesc": "Input#", | ||
"type": "sdf3d" | ||
} | ||
], | ||
"instance": "", | ||
"longdesc": "Assigns a color index to a 3D object", | ||
"name": "Color", | ||
"outputs": [ | ||
{ | ||
"longdesc": "The colored 3D object", | ||
"sdf3dc": "vec2($in#($uv), $c#)", | ||
"shortdesc": "Output#", | ||
"type": "sdf3dc" | ||
} | ||
], | ||
"parameters": [ | ||
{ | ||
"control": "None", | ||
"default": 0, | ||
"label": "", | ||
"longdesc": "The color index to be assigned", | ||
"max": 1, | ||
"min": 0, | ||
"name": "c#", | ||
"shortdesc": "Color", | ||
"step": 0.01, | ||
"type": "float" | ||
} | ||
], | ||
"shortdesc": "Color" | ||
}, | ||
"type": "shader" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,195 @@ | ||
{ | ||
"generic_size": 1, | ||
"name": "tex3d_blend", | ||
"node_position": { | ||
"x": 0, | ||
"y": 0 | ||
}, | ||
"parameters": { | ||
"amount1": 0.5, | ||
"blend_type1": 0 | ||
}, | ||
"seed_int": 0, | ||
"shader_model": { | ||
"code": [ | ||
"vec3 $(name_uv)_b = $b($uv);", | ||
"vec3 $(name_uv)_l;", | ||
"vec3 $(name_uv)_a;", | ||
"#for", | ||
"$(name_uv)_l = $l#($uv);", | ||
"$(name_uv)_a = $amount#*$a#($uv);", | ||
"$(name_uv)_b = blend3d_$blend_type#($(name_uv)_l.rgb, $(name_uv)_b.rgb, $amount#*dot($a#($uv), vec3(1.0))/3.0 );", | ||
"#end", | ||
"" | ||
], | ||
"global": [ | ||
"vec3 blend3d_normal(vec3 c1, vec3 c2, float opacity) {", | ||
"\treturn opacity*c1 + (1.0-opacity)*c2;", | ||
"}", | ||
"", | ||
"vec3 blend3d_multiply(vec3 c1, vec3 c2, float opacity) {", | ||
"\treturn opacity*c1*c2 + (1.0-opacity)*c2;", | ||
"}", | ||
"", | ||
"vec3 blend3d_screen(vec3 c1, vec3 c2, float opacity) {", | ||
"\treturn opacity*(1.0-(1.0-c1)*(1.0-c2)) + (1.0-opacity)*c2;", | ||
"}", | ||
"", | ||
"float blend3d_overlay_f(float c1, float c2) {", | ||
"\treturn (c1 < 0.5) ? (2.0*c1*c2) : (1.0-2.0*(1.0-c1)*(1.0-c2));", | ||
"}", | ||
"", | ||
"vec3 blend3d_overlay(vec3 c1, vec3 c2, float opacity) {", | ||
"\treturn opacity*vec3(blend3d_overlay_f(c1.x, c2.x), blend3d_overlay_f(c1.y, c2.y), blend3d_overlay_f(c1.z, c2.z)) + (1.0-opacity)*c2;", | ||
"}", | ||
"", | ||
"vec3 blend3d_hard_light(vec3 c1, vec3 c2, float opacity) {", | ||
"\treturn opacity*0.5*(c1*c2+blend3d_overlay(c1, c2, 1.0)) + (1.0-opacity)*c2;", | ||
"}", | ||
"", | ||
"float blend3d_soft_light_f(float c1, float c2) {", | ||
"\treturn (c2 < 0.5) ? (2.0*c1*c2+c1*c1*(1.0-2.0*c2)) : 2.0*c1*(1.0-c2)+sqrt(c1)*(2.0*c2-1.0);", | ||
"}", | ||
"", | ||
"vec3 blend3d_soft_light(vec3 c1, vec3 c2, float opacity) {", | ||
"\treturn opacity*vec3(blend3d_soft_light_f(c1.x, c2.x), blend3d_soft_light_f(c1.y, c2.y), blend3d_soft_light_f(c1.z, c2.z)) + (1.0-opacity)*c2;", | ||
"}", | ||
"", | ||
"float blend3d_burn_f(float c1, float c2) {", | ||
"\treturn (c1==0.0)?c1:max((1.0-((1.0-c2)/c1)),0.0);", | ||
"}", | ||
"", | ||
"vec3 blend3d_burn(vec3 c1, vec3 c2, float opacity) {", | ||
"\treturn opacity*vec3(blend3d_burn_f(c1.x, c2.x), blend3d_burn_f(c1.y, c2.y), blend3d_burn_f(c1.z, c2.z)) + (1.0-opacity)*c2;", | ||
"}", | ||
"", | ||
"float blend3d_dodge_f(float c1, float c2) {", | ||
"\treturn (c1==1.0)?c1:min(c2/(1.0-c1),1.0);", | ||
"}", | ||
"", | ||
"vec3 blend3d_dodge(vec3 c1, vec3 c2, float opacity) {", | ||
"\treturn opacity*vec3(blend3d_dodge_f(c1.x, c2.x), blend3d_dodge_f(c1.y, c2.y), blend3d_dodge_f(c1.z, c2.z)) + (1.0-opacity)*c2;", | ||
"}", | ||
"", | ||
"vec3 blend3d_lighten(vec3 c1, vec3 c2, float opacity) {", | ||
"\treturn opacity*max(c1, c2) + (1.0-opacity)*c2;", | ||
"}", | ||
"", | ||
"vec3 blend3d_darken(vec3 c1, vec3 c2, float opacity) {", | ||
"\treturn opacity*min(c1, c2) + (1.0-opacity)*c2;", | ||
"}", | ||
"", | ||
"vec3 blend3d_difference(vec3 c1, vec3 c2, float opacity) {", | ||
"\treturn opacity*clamp(c2-c1, vec3(0.0), vec3(1.0)) + (1.0-opacity)*c2;", | ||
"}", | ||
"" | ||
], | ||
"inputs": [ | ||
{ | ||
"default": "vec3($uv.x, 1.0, 1.0)", | ||
"label": "Background", | ||
"longdesc": "The background input", | ||
"name": "b", | ||
"shortdesc": "Background", | ||
"type": "tex3d" | ||
}, | ||
{ | ||
"default": "vec3(1.0, $uv.y, 1.0)", | ||
"label": "Layer#", | ||
"longdesc": "A layer input", | ||
"name": "l#", | ||
"shortdesc": "Layer#", | ||
"type": "tex3d" | ||
}, | ||
{ | ||
"default": "vec3(1.0)", | ||
"label": "Opacity#", | ||
"longdesc": "The optional opacity mask", | ||
"name": "a#", | ||
"shortdesc": "Mask#", | ||
"type": "tex3d" | ||
} | ||
], | ||
"instance": "", | ||
"longdesc": "Blends its 3D texture inputs, using an optional mask", | ||
"name": "TEX3D Blend", | ||
"outputs": [ | ||
{ | ||
"longdesc": "The 3D texture generated by the blend operation", | ||
"shortdesc": "Output", | ||
"tex3d": "$(name_uv)_b", | ||
"type": "tex3d" | ||
} | ||
], | ||
"parameters": [ | ||
{ | ||
"default": 0, | ||
"label": "2:", | ||
"longdesc": "The algorithm used to blend the inputs", | ||
"name": "blend_type#", | ||
"shortdesc": "Blend mode", | ||
"type": "enum", | ||
"values": [ | ||
{ | ||
"name": "Normal", | ||
"value": "normal" | ||
}, | ||
{ | ||
"name": "Multiply", | ||
"value": "multiply" | ||
}, | ||
{ | ||
"name": "Screen", | ||
"value": "screen" | ||
}, | ||
{ | ||
"name": "Overlay", | ||
"value": "overlay" | ||
}, | ||
{ | ||
"name": "Hard Light", | ||
"value": "hard_light" | ||
}, | ||
{ | ||
"name": "Soft Light", | ||
"value": "soft_light" | ||
}, | ||
{ | ||
"name": "Burn", | ||
"value": "burn" | ||
}, | ||
{ | ||
"name": "Dodge", | ||
"value": "dodge" | ||
}, | ||
{ | ||
"name": "Lighten", | ||
"value": "lighten" | ||
}, | ||
{ | ||
"name": "Darken", | ||
"value": "darken" | ||
}, | ||
{ | ||
"name": "Difference", | ||
"value": "difference" | ||
} | ||
] | ||
}, | ||
{ | ||
"control": "None", | ||
"default": 0.5, | ||
"label": "3:", | ||
"longdesc": "The opacity of the blend operation", | ||
"max": 1, | ||
"min": 0, | ||
"name": "amount#", | ||
"shortdesc": "Opacity", | ||
"step": 0, | ||
"type": "float" | ||
} | ||
], | ||
"shortdesc": "Tex3D Blend" | ||
}, | ||
"type": "shader" | ||
} |
Oops, something went wrong.