Skip to content

Commit 2c0c7ea

Browse files
authored
Add triangle wave node (#1334)
This node generates values from zero to one based on the input value.
1 parent 6211e9a commit 2c0c7ea

2 files changed

Lines changed: 36 additions & 0 deletions

File tree

libraries/stdlib/stdlib_defs.mtlx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2546,6 +2546,16 @@
25462546
<output name="out" type="stringarray" defaultinput="in1" />
25472547
</nodedef>
25482548

2549+
<!--
2550+
Node: <trianglewave>
2551+
Generate a triangle wave from the given scalar input.
2552+
The generated wave ranges from zero to one and repeats on integer boundaries.
2553+
-->
2554+
<nodedef name="ND_trianglewave_float" node="trianglewave" nodegroup="math">
2555+
<input name="in" type="float" value="0" />
2556+
<output name="out" type="float" />
2557+
</nodedef>
2558+
25492559
<!-- ======================================================================== -->
25502560
<!-- Adjustment nodes -->
25512561
<!-- ======================================================================== -->

libraries/stdlib/stdlib_ng.mtlx

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1540,6 +1540,32 @@
15401540
</magnitude>
15411541
<output name="out" type="float" nodename="N_mtlxmagnitude" />
15421542
</nodegraph>
1543+
1544+
<!--
1545+
Node: <trianglewave>
1546+
Generate a triangle wave from the given scalar input.
1547+
The generated wave ranges from zero to one and repeats on integer boundaries.
1548+
-->
1549+
<nodegraph name="NG_trianglewave_float" nodedef="ND_trianglewave_float">
1550+
<absval name="absval1" type="float">
1551+
<input name="in" type="float" interfacename="in" />
1552+
</absval>
1553+
<modulo name="modulo1" type="float">
1554+
<input name="in1" type="float" nodename="absval1" />
1555+
</modulo>
1556+
<subtract name="subtract1" type="float">
1557+
<input name="in1" type="float" nodename="modulo1" />
1558+
<input name="in2" type="float" value="0.5" />
1559+
</subtract>
1560+
<absval name="absval2" type="float">
1561+
<input name="in" type="float" nodename="subtract1" />
1562+
</absval>
1563+
<subtract name="subtract2" type="float">
1564+
<input name="in1" type="float" value="0.5" />
1565+
<input name="in2" type="float" nodename="absval2" />
1566+
</subtract>
1567+
<output name="out" type="float" nodename="subtract2" />
1568+
</nodegraph>
15431569

15441570
<!-- ======================================================================== -->
15451571
<!-- Adjustment nodes -->

0 commit comments

Comments
 (0)