A few issues regarding showing depth of the objects during rotation using orthographic camera

Hello Friends

PROBLEM 1: I have a scene with a bunch of circles using non tranparent meshPong material connected by fat lines (Line2) in threejs. I am using orthographic camera. My issue is when I rotate the circles group along with their connected lines I expect the circles that are now closer to me after rotation to cover the circles behind them as they rotate over them. But that does not happen. Instead I see the now farther cirlce still eclipsing my nearer circle in the rotation. The worst part is sometimes the circle correclty eclipses the other circle that is now further, but the line associated with that nearer circle does not eclipse the further circle and it created a confusing depth model.

Here is a screenshot of that scenario:

Screenshot 2026-08-15 152111

I posted a regular and a closeup picture of this scenario. As you can see the yellow circle is eclipsing the pink circle here. But the pink circles connected line (supposedly in the same z space) is not eclipsed by the yellow circle and it falls on top of it. I read somewhere that fat lines could have a 2D characteristic about them. So, I converted the fate lines to tubegeometry but still the same effect.

I tired using the renderer renderOrder attribute to give the circles a higher order than lines but then that totally gurantees that the circles always eclipse the lines no matter what which is what I dont want I just want the natural z ordering of the circles and their associated connected lines be repsected during the rotation of the scene.

What shouid I do to ix this?

I dont want to use perspective camera as this is scientific app and the circles sizes should not be drasitically reduced due to distance from the camera.

PROBLEM 2:

BTW: I get the world coordinates of the center of each circle and connect the lines to them using that which works fine. But one other problem I have is that I dont want the associated lines to show on the circle like below:

This picture acts as if the circle is transparent and you can see the line inside it too. Which is what I dont want. What I want is the line to stop at the outer surface of the circle and also go out from the outer side of the circle other side without showing anything inside the circle. I did fix this issue easily by setting renderOrder of the line to zero and the renderOrder of the circle to 1. But that creates the always fixed z-ordering issue that I explained above so I had to discard that solution.

Somewhere I read I could combine both ortho and perspective camera for depth, but I wanted to know if that approach will help in this matter.

Aprpeciate any input or suggestions to solve both problems especially PROBLEM 1 above.

Thanks

Siamak

Afaik this shouldn’t really happen unless you’ve messed with depth test or depthWrite on a material.. or yr using an old version of threejs or your’re using a rendertarget without a depth buffer?

Hi @manthrax thank you for your feedback.

I have the following set on both circle and line materials:

matLine.depthWrite = false;
matLine.depthTest = false;

the version is 174.

Can you expand on rendertarget concept you brought up. I dont think I am using it but wanted to make sure.

Thanks

Yeah comment those out…

Thank you so much @manthrax . That fixed the issue. Much appreciate your quick help. :folded_hands: