When using THREE.js and an off-axis OrthographicCamera to view a grid of cubes, I have noticed that once the camera rotates enough for the objects to overlap, the rendering order seems to be based on creation order rather than spatial position.
Even after attempting to adjust settings with
THREE.WebGLRenderer( { antialias: true, sortObjects: false } );
, the issue persists.
To see this strange Escher-like effect in action, check out this animated fiddle: http://jsfiddle.net/rfbvdmxn/2/
Before the objects start overlapping, the scene looks like this: https://i.sstatic.net/y2LMQ.png
As the camera continues rotating and the objects start to overlap, you can observe that the objects further away end up obscuring those closer to the camera:
https://i.sstatic.net/S5rsQ.png
If you have any insights into what might be causing this issue or how it can be resolved, please let me know!