TypesGenerated
Every type a port, a param or a value may have.
| Type | Syntax | Brief |
|---|---|---|
| Bool | Bool |
true or false. |
| DMat2 | DMat2 DMat3 DMat4 |
Double matrices by columns. |
| DMat3 | DMat3 |
A 3 by 3 Double matrix. |
| DMat4 | DMat4 |
A 4 by 4 Double matrix. |
| DVec2 | DVec2 DVec3 DVec4 |
Doubles in two, three or four components. |
| DVec3 | DVec3 |
Three Doubles. |
| DVec4 | DVec4 |
Four Doubles. |
| Double | Double |
A 64-bit float; a literal is taken exact. |
| Float | Float |
A 32-bit float; written 1.0 or 2.5e-3, never 1. |
| Grid | Grid<T> |
A grid of elements, coord() the column and row of one; size(f) and at(f, vec2) read it. |
| IVec2 | IVec2 IVec3 |
Integers in two or three components: a cell, an offset, an address for at and put. |
| IVec3 | IVec3 |
Three integers; see IVec2. |
| IVec4 | IVec4 |
Four integers; see IVec2. |
| Image | Image |
Grid<Vec4>: a picture, each channel a Float from 0 to 1, the first output that is one is what a scene shows. |
| Int | Int |
A 32-bit integer; an overflow fails the element, add_wrap and its kin wrap. |
| LVec2 | LVec2 LVec3 |
Longs in two or three components. |
| LVec3 | LVec3 |
Three Longs. |
| Long | Long |
A 64-bit integer. |
| Mat2 | Mat2 Mat3 Mat4 |
Float matrices by columns: m[i] a column, m * v applies it. |
| Mat3 | Mat3 |
A 3 by 3 Float matrix; see Mat2. |
| Mat4 | Mat4 |
A 4 by 4 Float matrix; see Mat2. |
| Rows | Rows<T> |
A row of elements, element() the index of one; count(f) says how many, at(f, i) reads one. |
| Vec2 | Vec2 Vec3 Vec4 |
Floats in two, three or four components: v.x, v.y, v.z, v.w, and v.rgb, v.xy and the like as swizzles. |
| Vec3 | Vec3 |
Three Floats; see Vec2. |
| Vec4 | Vec4 |
Four Floats, a pixel’s r g b a; see Vec2. |
| Volume | Volume<T> |
A volume of elements, coord() the column, row and layer of one. |
| as | input albedo: Grid<Vec4 as unorm8>; |
How a port’s Field is stored: f16, unorm8, snorm8, unorm16, u8, i8, u16, i16, or word; a Kernel reads and writes the type, the storage is narrower. |

