I make my graphics in Mathematica using the Wolfram Language. This works quite well, but I have run into an issue that will make it work much nicer if it is solved.
In the following code, I render a Cuboid
and then place a few Graphics3D
primitives around it. It becomes readily obvious that the concentrated region of intersecting graphics have issues with their order of rendering.
Graphics3D[{{Yellow, Opacity[0.25],
Cuboid[{-4, -1.7, -1}, {4, 1.7, 0.}]},
{Dashed, Thickness[0.01],
Arrowheads[0.05, Appearance -> "Projected"],
Arrow[Line[{{0, 0, 0}, {5.4, 0, 0}}]],
Arrow[Line[{{0, 0, 0}, {0, 3.4, 0}}]],
Arrow[Line[{{0, 0, 0}, {0, 0, 2.5}}]]},
{Black, Cuboid[{-3.4, -2.6, 0}, {-3.6, 2.6, 0}],
Cuboid[{3.4, -2.6, 0}, {3.6, 2.6, 0}]},
{Thickness[0.0325], Green, Arrowheads[0.125],
Arrow[Tube[{{0, 0, 0}, {4.75, 0, 0}}, .1]]},
{Thickness[0.02], Red, Arrowheads[0.09],
Arrow[Tube[{{0, 0, 0}, 2.75 {1, 0, 0}}, 0.1]]}
},
Boxed -> False, ImageSize -> 1000, ViewAngle -> Automatic,
ViewCenter -> {0.5`, 0.5`, 0.5`}, ViewMatrix -> Automatic,
ViewPoint -> {1.3135668740464197`, -2.8819650173048537`,
1.1911421856516324`}, ViewProjection -> Automatic,
ViewRange -> All, ViewVector -> Automatic,
ViewVertical -> {0.07086652061143876`, -0.17857804014486425`,
0.9813703785189605`}]
How can I control the order of rendering?
The goal is to deliberately prevent or encourage the overlap of parts of Graphics3D
creations.