Arrays

Arrays are especially useful when passing in data to a shader as a uniform and this is currently the only way to create arrays unless you create your own node that outputs an array. See the how pass in an array of uniformsarrow-up-right.

Using arrays

Map

An array can be mapped into another array by providing a mapping function.

const doubledNumbers: ArrayNode<FloatNode> = numbers.map((value: FloatNode) => {
    return value.multiply(float(2))
})

Sum

An array can be reduced to a single value by providing a function that applies some transformation before summing the values. The return type of the mapping function must be numeric.

const doubledSum: FloatNode = numbers.sum((value: FloatNode) => {
    return value.multiply(float(2))
})

Get element by index

array.get(0) // Using a constant
array.get(int(0)) // Using an IntNode to pick an element programatically

Last updated