maxMipLevel
maxMipLevel
查询并获取一个纹理所拥有的最大 Mipmap 等级数(一个浮点值)。
核心优势
将 Mipmap 级别查询封装在节点中,无需在 JS 端计算并通过 uniform 手动传递,使着色器逻辑更自包含、更易维护。
常见用途
调试和可视化 Mipmap 级别
自定义 LOD (细节层次) 效果
在自定义采样逻辑中约束 Mipmap 级别
作为程序化生成效果的参数
如何调整
该节点的输出值由输入纹理的尺寸决定,无法直接调整。其效果体现在如何使用这个输出值:例如,更换不同尺寸的输入纹理会改变其返回值;或在节点图中将此输出值用于其他计算,如用它来归一化当前 Mipmap 级别以实现调试可视化,或用它来约束自定义的 LOD 计算范围。
代码示例
1// 手动计算一个 mip level,并用 maxMipLevel 确保其不越界
2const customMipLevel = roughness.mul( 10.0 );
3const maxLevel = maxMipLevel( texture( myTex ) );
4
5const safeMipLevel = clamp( customMipLevel, 0.0, maxLevel );