pmremTexture
pmremTexture
对一个经过预处理的环境贴图(PMREM)进行采样,以极高性能实现随粗糙度变化的、基于物理的反射和环境光照。
核心优势
通过预计算的 Mipmap 层级,它能以极低性能开销实现物理准确的模糊反射,并能用同一张贴图统一提供高光反射和漫反射环境光,是 PBR 渲染的核心。
常见用途
PBR 材质的金属/镜面反射
场景背景/天空盒
计算间接漫反射光 (IBL)
如何调整
调整 `levelNode`(模糊级别)是关键。连接一个低值(如 `float(0)`)可获得清晰的镜面反射;连接一个高值则得到完全模糊的漫反射效果。最常见的用法是将其连接到材质的 `roughness` 节点,从而使反射的模糊度能根据表面粗糙度动态、平滑地变化。
代码示例
1// 使用反射向量和粗糙度对 PMREM 贴图进行采样
2const envColor = pmremTexture( texture( envMap ), reflectVec, roughness );