KhronosGroup / glTF-Sample-Viewer

Physically-Based Rendering in glTF 2.0 using WebGL
Apache License 2.0
1.21k stars 229 forks source link

Specular factor should not affect metal BRDF #530

Open brianchirls opened 3 months ago

brianchirls commented 3 months ago

According to the KHR_materials_specular specification, specularFactor and specularColorFactor should have no affect on metal materials, but metal materials appear significantly darker with a reduced specular factor. Most other rendering engines I've looked at follow this rule.

In the following example, the top row are metal and the bottom row are dielectric, with the left side having specularFactor = 0.15 and the right side at 1.0.

image

Here is what it looks like in three.js: image

Babylon.js: image

Maya/Arnold: image

Blender (EEVEE): image

In all the above examples, the metallic spheres look the same, and there is a visible difference in the dielectric.

I am happy to provide the sample GLTF files if necessary.

Thanks.