类型自动生成
Kernel 端口、参数和值所能拥有的全部类型。
| 类型 | 写法 | 简述 |
|---|---|---|
| Bool | Bool |
布尔值 true / false。 |
| DMat2 | DMat2 DMat3 DMat4 |
2×2 双精度矩阵。 |
| DMat3 | DMat3 |
3×3 双精度矩阵。 |
| DMat4 | DMat4 |
4×4 双精度矩阵。 |
| DVec2 | DVec2 DVec3 DVec4 |
二维双精度向量。 |
| DVec3 | DVec3 |
三维双精度向量。 |
| DVec4 | DVec4 |
四维双精度向量。 |
| Double | Double |
64 位浮点数,字面量按精确值读取。 |
| Float | Float |
32 位浮点数,字面量必须带小数点(1.0,而不是 1)。 |
| Grid | Grid<T> |
二维 Field:网格,coord() 给出当前元素的列与行,size(f)、at(f, vec2) 读取。 |
| IVec2 | IVec2 IVec3 |
二维整数向量:单元格、偏移、at / put 的地址。 |
| IVec3 | IVec3 |
三维整数向量。 |
| IVec4 | IVec4 |
四维整数向量。 |
| Image | Image |
图片,即 Grid<Vec4>,每个通道是 0–1 的 Float;场景第一个 Image 输出就是画面。 |
| Int | Int |
32 位整数;溢出会使该元素失败,add_wrap 等函数可回绕。 |
| LVec2 | LVec2 LVec3 |
二维 64 位整数向量。 |
| LVec3 | LVec3 |
三维 64 位整数向量。 |
| Long | Long |
64 位整数。 |
| Mat2 | Mat2 Mat3 Mat4 |
2×2 浮点矩阵,按列存储:m[i] 是一列,m * v 作用于向量。 |
| Mat3 | Mat3 |
3×3 浮点矩阵。 |
| Mat4 | Mat4 |
4×4 浮点矩阵。 |
| Rows | Rows<T> |
一维 Field:一排元素,用 element() 取当前元素下标,count(f) 求个数,at(f, i) 读取。 |
| Vec2 | Vec2 Vec3 Vec4 |
二维浮点向量,支持 v.x、v.xy 等分量与重排(swizzle)。 |
| Vec3 | Vec3 |
三维浮点向量。 |
| Vec4 | Vec4 |
四维浮点向量,也是一个像素的 r g b a。 |
| Volume | Volume<T> |
三维 Field:体,coord() 给出列、行、层。 |
| as | input albedo: Grid<Vec4 as unorm8>; |
端口 Field 的存储编码(f16、unorm8 等):Kernel 读写的是声明类型,存储更窄。 |

