跳转到内容

内置函数自动生成

Kernel 可以调用的 114 个内置函数,按类别分页(相当于 Godot 的 @GlobalScope)。

分类 简述 方法
数学函数 逐分量的数学运算:取整、三角、指数对数、插值、向量运算、位运算等。 abs, acos, add_wrap, asin, atan, atan2, bits, ceil, clamp, clz, cos, cosh, cross, ctz, degrees, determinant, distance, dot, exp, exp2, floor, fma, fract, from_bits, inverse, inversesqrt, isinf, isnan, length, log, log2, max, min, mix, mod, mul_wrap, mulhi, normalize, popcount, pow, radians, reflect, refract, rotl, rotr, round, saturate, sign, sin, sinh, smoothstep, sqrt, step, sub_wrap, tan, tanh, transpose, trunc, udiv, ult, umulhi, urem
构造函数 构造向量与矩阵:vec2/vec3/vec4、ivec、mat 等。 dmat2, dmat3, dmat4, dvec2, dvec3, dvec4, ivec2, ivec3, ivec4, lvec2, lvec3, mat2, mat3, mat4, vec2, vec3, vec4
类型转换 在 Float、Int、Double、Long 之间转换,向量与矩阵逐分量转换。 double, float, int, long
Field 读取 从绑定到输入端口的 Field 中读取元素与尺寸。 at, at_linear, count, fetch, isize, sample, size
上下文函数 读取当前元素与外部世界:坐标、定义域、时间、指针、按键、窗口等。 button, clock, coord, domain, element, icoord, idomain, index, key, pads, pointer, pointer_down, queued, rate, scale, stick, time, typed, wheel, window
memory 写入 只能在 scan 模式中使用:按步骤顺序写 memory 端口。 put
散射 只能在 scatter 模式中使用:额外发出一对(地址, 值)。 emit
组内协作 只能在 group 模式的 Kernel 中使用:组内各 lane 交换数据、同步。 exchange, lane