ceil
ceil
将输入的浮点数(或向量的每个分量)向上取整至不小于该值的最小整数。它用于将平滑的连续信号(如UV坐标、光照强度)转换为离散的阶梯状数值。
核心优势
通过将一个基础的数学运算封装成一个简洁、可读的节点,它极大地简化了创建阶梯状、非连续视觉效果(如卡通渲染色阶、程序化条纹)的过程,无需脱离TSL节点系统。
常见用途
卡通渲染中的色阶过渡
生成条纹或网格图案
步进式动画
如何调整
通过调整输入端相乘的系数来控制阶梯的数量。例如,在卡通渲染中,`ceil(light.mul(3))` 会产生3个亮度等级,而 `ceil(light.mul(5))` 则会产生5个更精细的亮度等级。
代码示例
1// 将平滑光照 (0-1) 量化为 4 个离散等级
2const lightLevel = ceil( smoothLight.mul( 4.0 ) ).div( 4.0 );