Greetings,
Is there a reference providing guidance on making memory efficient 3D graphics?
I made some 3D graphics of some objects that are built up from a selection of smaller 3D graphics using Graphics3D[]. I was not aware of the Translate[] function at the time and built in variables to translate the 3D graphic in space so the main graphic could be replicated into an array. This approach worked but consumed around 2.5 GB of memory with only a few dozen 3D graphic objects being shown.
I rebuilt the small 3D graphics using Graphics3D[Translate[]...]. I also removed Show[] where possible so that it did not get nested many times, and the memory usage is now around 330 MB.
The main graphic has the form:
mainGraphic[{x_,y_,z_}]:={top[{x,y,z}], bottom[{x,y,z}], rside[{x,y,z}], lside[{x,y,z}]}
Each element of the graphics as the form
top[{x_,y_,z_}]:=Graphics3D[Translate[{Blue, Cuboid [{},{}], ....},{x,y,z}],Boxed -> False, Lighting -> "Neutral"]
My next step is the simplify the element graphics to lists of WL functions [{Blue, Cuboid [{},{}], ....}, and just have one Graphics3D and Translate function in the mainGrapchic function of my 3D graphic objects. If would be helpful to know if this is the most efficient approach. It would be useful to know how to translate any Graphic3D type such as those generated by Plot3D.
Sincerely,
Jay Morreale