Zdog - Celeste snowglobe ------------------------ [Made with Zdog](https://zzz.dog) Been playing a lot of Celeste. In the eye of the storm with Madeline. Special sauce includes bokeh shapes for the snowflakes and light rods, which grow & fade out as the move further from the scene center. [View more round 3D Pens](https://codepen.io/desandro/pens/tags/?selected_tag=round3d) --- Built with my own vanilla JS (still rocking that ES5) using the <canvas> drawing API. No WebGL. Shapes are rendered with thick lineWidth, giving the illusion of 3D form. A sphere has the same 2D contour as a flat circle. A 3D pill has the same contour of a 2D pill. That's the trick. This is the best engine to render hot dogs and burger patties. [3D code comes from this Khan Academy lesson](https://www.khanacademy.org/computing/computer-programming/programming-games-visualizations/programming-3d-shapes/a/rotating-3d-shapes). It's great because it only uses simple trig, and no matrix mindbenders. Yeah it's buggy as heck, but that's the _charm_. It has no concept of intersecting or clipping. Shapes are either rendered before or after one another. Two shapes that occupy the same space will pop over one another when rotated. A [Pen](https://codepen.io/desandro/pen/RQeYYp) by [Dave DeSandro](https://codepen.io/desandro) on [CodePen](https://codepen.io). [License](https://codepen.io/license/pen/RQeYYp).