Recommended Settings: Circumference iterations: 180 Length iterations: 300 Pen size: 2 Settings description Load: Loads in an RGB texture from input. If a texture is inputted the program will prompt width and height for the loaded in texture. Format is concatenated hex values, of RRGGBB order. (FF0000AAAAAA is a red pixel and a gray pixel). Width: The width of the texture. Width-wise is rendered roll-wise counterclockwise corresponding to left to right on the 2D texture. Height: The height of the texture. The height is rendered from top to bottom corresponding to top to bottom on the 2D texture, in the direction of the axis vector. X rot: X rotation of the sphere. Self explanatory. Y rot: Y rotation of the sphere. Self explanatory. Note: The axis vector points in the direction of the X and Y rotation values, bounded to a circle (thanks Kouz.) Roll: The roll along the axis vector, described by the X and Y rotations. Pen size: The pen size. Self explanatory. Circumference Iterations: The amount of iterations when rendering a ring. The amount of degrees per iteration is dictated by this value, with the formula iterations/360. The roll-wise “resolution” of the sphere. Height Iterations: The amount of circumference rings to render. The length-wise “resolution” of the sphere. Bugfixes since March 14, 2022 Bugfix: Fixed dist = sin(90) circumference ring issue where the back would render a tiny slither and ruin the render. Guessing it was floating point imprecision. Bugfix: Fixed incorrect circumference layering for <180 atan2
Earth preloaded texture from https://www.solarsystemscope.com/textures/ Engine made by me with a tiny bit of help from @Kouzerumatsu (circle bounded cosine & sine) and some Stack Exchange questions.