- 什么是 内置函数, 内置函数与重载
某些函数是预先声明的,由实现提供,因此总是可以在WGSL程序中使用,这些函数被称为内置函数。
内置函数是一个函数族,所有函数都有相同的名称,但可以通过形参的数量、顺序和类型来区分,这些不同的函数变体都是一个重载。
注意:每个用户自定义函数只有一个重载! (也就是说自定义函数不支持重载)
调用内置函数时,函数的所有参数都会在函数求值开始之前求值。
all
Overload | @const fn all(e: vecN<bool>) -> bool |
Description | Returns true if each component of e is true. |
Overload | @const fn all(e: bool) -> bool |
Description | Returns e. |
any
Overload | @const fn any(e: vecN<bool>) -> bool |
Description | Returns true if any component of e is true. |
Overload | @const fn any(e: bool) -> bool |
Description | Returns e. |
select
Overload | @const fn select(f: T,t: T,cond: bool) -> T |
Parameterization | |
Description | Returns t when cond is true, and f otherwise. |
Overload | @const fn select(f: vecN<T>,t: vecN<T>,cond: vecN<bool>) -> vecN<T> |
Parameterization | T is scalar |
Description | Component-wise selection. Result component i is evaluated as select(f[i], t[i], cond[i]). |