GLSL内置函数

183 阅读2分钟
  1. 数学函数:

    • radians: 将度转换为弧度。
    • degrees: 将弧度转换为度。
    • sin: 正弦函数。
    • cos: 余弦函数。
    • tan: 正切函数。
    • asin: 反正弦函数。
    • acos: 反余弦函数。
    • atan: 反正切函数。
    • pow: 幂函数,计算x的y次幂。
    • exp: 计算e的x次方。
    • log: 计算x的自然对数。
    • exp2: 计算2的x次方。
    • log2: 计算x的以2为底的对数。
    • sqrt: 开平方根。
    • inversesqrt: 开平方根的逆运算。
    • abs: 绝对值。
    • sign: 符号函数,返回1,-1或0。
    • floor: 向下取整。
    • ceil: 向上取整。
    • fract: 返回小数部分。
    • mod: 返回x/y的余数。
    • min: 返回最小值。
    • max: 返回最大值。
    • clamp: 限制值在min和max之间。
    • mix: 混合两个值。
    • step: 如果x小于边界,返回0;否则返回1。
    • smoothstep: 平滑的混合函数。
  2. 向量函数:

    • length: 向量的长度。
    • distance: 两点之间的距离。
    • dot: 点积。
    • cross: 叉积。
    • normalize: 单位向量。
    • faceforward: 根据视角方向确定向量方向。
    • reflect: 计算入射光线i关于法线n的反射光线。
    • refract: 计算入射光线i关于法线n的折射光线。
  3. 矩阵函数:

    • matrixCompMult: 矩阵元素逐元素相乘。
  4. 纹理映射函数:

    • texture: 获取纹理数据。
    • texture2D: 特定于2D纹理的texture函数。
    • texture3D: 特定于3D纹理的texture函数。
    • textureCube: 特定于立方图纹理的texture函数。
    • textureLod: 使用特定的LOD(Level of Detail)获取纹理数据。
    • texture2DLod: 特定于2D纹理的textureLod函数。
    • texture3DLod: 特定于3D纹理的textureLod函数。
    • textureCubeLod: 特定于立方图纹理的textureLod函数。
  5. 其他函数:

    • isnan: 检查值是否是数字(非NaN)。
    • isinf: 检查值是否是无穷大。
    • degrees: 将弧度转换为度