Skip to content

Commit 0b64b0d

Browse files
committed
Added Alpha Association filter node
1 parent 8e437b5 commit 0b64b0d

5 files changed

Lines changed: 94 additions & 2 deletions

File tree

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
{
2+
"generic_size": 1,
3+
"name": "alpha_association",
4+
"node_position": {
5+
"x": 0,
6+
"y": 0
7+
},
8+
"parameters": {
9+
"mode": 1.0
10+
},
11+
"seed_int": 0,
12+
"shader_model": {
13+
"code": "",
14+
"global": "",
15+
"inputs": [
16+
{
17+
"default": "vec4(0.0, 0.0, 0.0, 1.0)",
18+
"label": "",
19+
"longdesc": "The image to be converted",
20+
"name": "in#",
21+
"shortdesc": "Input#",
22+
"type": "rgba"
23+
}
24+
],
25+
"instance": "",
26+
"longdesc": "Converts an input image from straight to premultiplied alpha and vice versa",
27+
"name": "Alpha Association",
28+
"outputs": [
29+
{
30+
"longdesc": "The converted image",
31+
"rgba": "vec4($in#($uv).rgb $mode $in#($uv).a, $in#($uv).a)",
32+
"shortdesc": "Output#",
33+
"type": "rgba"
34+
}
35+
],
36+
"parameters": [
37+
{
38+
"default": 0.0,
39+
"label": "",
40+
"name": "mode",
41+
"shortdesc": "Mode",
42+
"longdesc": "Controls whether the node converts from straight to premultiplied or from premultiplied to straight",
43+
"type": "enum",
44+
"values": [
45+
{
46+
"name": "Straight to Premultiplied",
47+
"value": "*"
48+
},
49+
{
50+
"name": "Premultiplied to Straight",
51+
"value": "/"
52+
}
53+
]
54+
}
55+
],
56+
"shortdesc": "Alpha Association Conversion"
57+
},
58+
"type": "shader"
59+
}
17.4 KB
Loading
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
Alpha Association node
2+
~~~~~~~~~~~~~~~~~~~~~~
3+
4+
The **Alpha Association** node is variadic and converts the input images' alpha association
5+
from straight to premultiplied and vice versa. The alpha channel remains untouched.
6+
7+
.. image:: images/node_filter_alpha_association.png
8+
:align: center
9+
10+
Inputs
11+
++++++
12+
13+
The **Alpha Association** node requires an RGBA input texture.
14+
15+
Outputs
16+
+++++++
17+
18+
The **Alpha Association** node provides a single RGBA texture.
19+
20+
Parameters
21+
++++++++++
22+
23+
The **Alpha Association** node has a single **Mode** parameter to select between
24+
converting from straight to premultiplied and from premultiplied to straight.

material_maker/doc/nodes_filter.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,4 @@ The filter nodes accept one or several inputs and generate one or several images
6969
node_filter_classic_kuwahara
7070
node_filter_generalized_kuwahara
7171
node_filter_symmetric_nearest_neighbor
72+
node_filter_alpha_association

material_maker/library/base.json

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8076,7 +8076,6 @@
80768076
},
80778077
{
80788078
"display_name": "In",
8079-
"name": "portal",
80808079
"icon_data": "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",
80818080
"io": 0.0,
80828081
"name": "portal",
@@ -8090,7 +8089,16 @@
80908089
"name": "portal",
80918090
"tree_item": "Miscellaneous/Aperture/Out",
80928091
"type": "portal"
8092+
},
8093+
{
8094+
"display_name": "Alpha Association",
8095+
"name": "alpha_association",
8096+
"parameters": {
8097+
"mode": 0.0
8098+
},
8099+
"tree_item": "Filter/Alpha Association",
8100+
"type": "alpha_association"
80938101
}
80948102
],
80958103
"name": "Base library"
8096-
}
8104+
}

0 commit comments

Comments
 (0)