- 0(黑色-0 sRGB)表示光滑,1(白-255 sRGB)表示粗糙
- 表面越光滑,陆地的高光反射就越集中,尽管反射的光的总量是一点的,表面也会更亮,光会更强。

- Metallic(金属贴图)起到类似于蒙版的作用,区分固有色贴图中的金属和绝缘体数据。在金属性贴图中,0(黑色-0 sRGB)表示绝缘体,而1(白-255 sRGB)表示金属
- BaseColor贴图实则包含了漫反射和高光贴图的信息。而Metallic贴图这决定了有多少BaseColor被解释为漫反射或者高光。
- roughness
vec4 texelRoughness = texture2D( roughnessMap, vUv )
roughnessFactor *= texelRoughness.g
float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z )
material.specularRoughness = max( roughnessFactor, 0.0525 )
material.specularRoughness += geometryRoughness
material.specularRoughness = min( material.specularRoughness, 1.0 )
vec4 texelMetalness = texture2D( metalnessMap, vUv )
metalnessFactor *= texelMetalness.b
PhysicalMaterial material
material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor )
// 如果metalnessFactor=0, 表示为绝缘体,使用diffuseColor
// metalnessFactor为1,代表金属属性,走高光效果 变成0,0,0了
material.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor )
material.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor )