跳转到内容

类型自动生成

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 读写的是声明类型,存储更窄。