three
Version:
JavaScript 3D library
24 lines (15 loc) • 512 B
JavaScript
export default /* glsl */`
uniform float envMapIntensity;
uniform mat3 envMapRotation;
uniform samplerCube envMap;
// Invert PMREMGenerator.lodToRoughness(). Matches Filament's perceptualRoughnessToLod().
// https://github.com/google/filament/blob/main/shaders/src/surface_light_indirect.fs
float roughnessToMip( const in float roughness ) {
float r = clamp( roughness, 0.0, 1.0 );
return ENVMAP_MAX_LOD * r * ( 2.0 - r );
}
`;