Skip to content

Commit

Permalink
variadic tex3d shape select node
Browse files Browse the repository at this point in the history
  • Loading branch information
williamchange committed Dec 20, 2023
1 parent 369235f commit e07cdcc
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 24 deletions.
41 changes: 24 additions & 17 deletions addons/material_maker/nodes/tex3d_select_shape.mmg
Original file line number Diff line number Diff line change
@@ -1,39 +1,46 @@
{
"generic_size": 1,
"name": "tex3d_select_shape",
"node_position": {
"x": 0,
"y": 0
},
"parameters": {
"d": 0
"d1": 0
},
"seed_int": 0,
"shader_model": {
"code": "",
"code": [
"vec3 $(name_uv)_b = $b($uv);",
"",
"#for",
"$(name_uv)_b = mix($i#($uv), $(name_uv)_b, clamp($shape#($uv.xyz)/max($d#, 0.0001), 0.0, 1.0));",
"#end"
],
"global": "",
"inputs": [
{
"default": "vec3(0.5)",
"label": "",
"longdesc": "The 3D texture associated to the specified color index",
"name": "in1",
"shortdesc": "Input1",
"longdesc": "The 3D texture(s) outside the input selection shapes",
"name": "b",
"shortdesc": "Background",
"type": "tex3d"
},
{
"default": "vec3(0.5)",
"label": "",
"longdesc": "The 3D texture(s) associated to other color indices",
"name": "in2",
"shortdesc": "Input2",
"longdesc": "The 3D texture associated to the selection shape",
"name": "i#",
"shortdesc": "Input#",
"type": "tex3d"
},
{
"default": "0.0",
"label": "",
"longdesc": "The shape in which input1 is applied",
"name": "shape",
"shortdesc": "Shape",
"longdesc": "The shape in which Input# is applied",
"name": "shape#",
"shortdesc": "Shape#",
"type": "sdf3d"
}
],
Expand All @@ -44,20 +51,20 @@
{
"longdesc": "The merged 3D texture",
"shortdesc": "Output",
"tex3d": "mix($in1($uv), $in2($uv), clamp($shape($uv.xyz)/max($d, 0.0001), 0.0, 1.0))",
"tex3d": "$(name_uv)_b",
"type": "tex3d"
}
],
"parameters": [
{
"control": "None",
"default": 0.5,
"label": "Smoothness",
"longdesc": "The width of the transition area between both textures",
"default": 0.01,
"label": "3:Smoothness",
"longdesc": "The width of the transition area between textures",
"max": 1,
"min": 0,
"name": "d",
"shortdesc": "Smoothness",
"name": "d#",
"shortdesc": "Smoothness#",
"step": 0.01,
"type": "float"
}
Expand Down
16 changes: 10 additions & 6 deletions material_maker/doc/node_3d_texture_shape_select.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Shape Select node
~~~~~~~~~~~~~~~~~

The **Shape Select** node merges two 3D textures by assigning all samples to its first
input except those that are outside the input selection shape.
The **Shape Select** merges two or more 3D textures by assigning
them based on input selection shapes

.. image:: images/node_3d_texture_select_shape.png
:align: center
Expand All @@ -12,9 +12,13 @@ Inputs

The **Shape Select** node accepts two 3D texture inputs:

* the default texture, used for all samples that are inside the selection shape
* the selected texture that is assigned to all samples that are outside the selection shape
* the shape where the first input is applied
* The default texture, used for all samples that are outside the selection shape

* The selected texture that is assigned to all samples that are inside the selection shape

* The shape where the first input is applied

This node is variadic, and more inputs and associated selection shapes can be added.

Outputs
.......
Expand All @@ -25,4 +29,4 @@ Parameters
..........

The **Shape Select** node accepts a smoothness parameter that defines the width of the area
where both textures are mixed.
where textures are mixed.
2 changes: 1 addition & 1 deletion material_maker/library/base.json
Original file line number Diff line number Diff line change
Expand Up @@ -6566,7 +6566,7 @@
"icon_data": "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",
"name": "tex3d_select_shape",
"parameters": {
"d": 0
"d1": 0
},
"seed": 0,
"seed_locked": false,
Expand Down

0 comments on commit e07cdcc

Please sign in to comment.