Physical material artifact when using Orthographic camera

Hello there!
I noticed a material/shader artifact that occurs when using an orthographic camera with ThreeJS. When the objects are big and the position is far from the center of the screen/camera the shading gets some distortion that looks wrong.

This is happening with the Physical material, not sure if it happens in other materials too.

Here is a codepen that displays the artifact (a simple sphere with physical material, positioned far from the center).

https://codepen.io/avenadulce/pen/gOYmNRV/

Also, some screenshots:

  1. The sphere, using perspective camera.

  2. Same sphere, using orthographic camera.

  3. Close up of the artifact in orthographic camera:
    05%20PM

I looked at the material code but couldn’t find what is the origin of the problem.

Also, the issue not only happens with the built-in materials of threejs; it also happen with custom shaders (got the same artifact when working with a custom fresnel material). No idea why.

UPDATE: The issue occurs on Physical material because that material inherits the properties of the standard material. I still need to figure out why my custom shader had a similar issue, but can’t say they are related, maybe it was a coincidence.

That just looks to me like it’s just the fresnel caused by the directional light. See here: Physically-Based Rendering, And You Can Too! | Marmoset

Fresnel is the percentage of light that a surface reflects at grazing angles.

Mm, could be the fresnel, but still looks wrong to me, maybe is not properly calculated with the orthographic projection? Here is another example: