Skip to content

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.