Multiple opaque objects occlude lines when they shouldn't

When more than 4 translucent objects overlap, they occlude any lines plotted behind them, no matter how small I make the opacity. Interestingly, while changing the 3D view, the line disappears behind more of the objects. Presumably some setting is changed to reduce the number of layers or something, but I don't know where this parameter is saved or how to set it.

I would be happy with a fix or a work-around. Here are two examples

(* Plot a circle *)
a1 = ParametricPlot3D[{Cos[Theta], Sin[Theta], 0}, {Theta, 0, 2 Pi}];

(* Plot 5 spheres *)
MySphere[z_, Phi_, c_] := {c Sqrt[1 - z^2] Cos[Phi], c Sqrt[1 - z^2] Sin[Phi], c z};
t0 = ParametricPlot3D[MySphere[z, Phi, 1], {z, -1, 1}, {Phi, 0, 2 Pi},
Mesh -> None, PlotStyle -> Opacity[0.05]];
t1 = ParametricPlot3D[MySphere[z, Phi, 0.9], {z, -1, 1}, {Phi, 0, 2 Pi},
Mesh -> None, PlotStyle -> Opacity[0.05]];
t2 = ParametricPlot3D[MySphere[z, Phi, 0.8], {z, -1, 1}, {Phi, 0, 2 Pi},
Mesh -> None, PlotStyle -> Opacity[0.05]];
t3 = ParametricPlot3D[MySphere[z, Phi, 0.7], {z, -1, 1}, {Phi, 0, 2 Pi},
Mesh -> None, PlotStyle -> Opacity[0.05]];
t4 = ParametricPlot3D[MySphere[z, Phi, 0.6], {z, -1, 1}, {Phi, 0, 2 Pi},
Mesh -> None, PlotStyle -> Opacity[0.05]];

Show[a1, t0, t1, t2, t3, t4]


(* Plot a circle*)
a1 = ParametricPlot3D[{4 Cos[Theta] + 2, 4 Sin[Theta] + 2, 2}, {Theta, 0, 2 Pi}];

(* Plot a bunch of cylinders *)
g1 = Graphics3D[{EdgeForm[], Opacity[.05], Cylinder /@ RandomReal[5, {20, 2, 3}]}];
Show[g1, a1]


• Looks like a bug to me. Please report it to: [email protected] Commented Oct 11, 2022 at 16:44
• The back side of the box frame is visible from certain viewpoints which is supposed to be behind all other objects.
– Syed
Commented Oct 11, 2022 at 18:50
• Yes it's interesting that the frame is visible, but the line is not. I hope there is a work-around! I'll email Wolfram support and reply with an answer if they have a fix. Commented Oct 11, 2022 at 20:30

Style[Show[a1, t0, t1, t2, t3, t4], RenderingOptions -> {"DepthPeelingLayers" -> 12}]