Zdog a Round, Flat, Designer-friendly Pseudo-3D Engine

Original Source: http://feedproxy.google.com/~r/abduzeedo/~3/Jo3Lc4-2-gg/zdog-round-flat-designer-friendly-pseudo-3d-engine

Zdog a Round, Flat, Designer-friendly Pseudo-3D Engine
Zdog a Round, Flat, Designer-friendly Pseudo-3D Engine

abduzeedoMay 28, 2019

Zdog is a 3D JavaScript engine for and SVG. With Zdog, you can design and render simple 3D models on the Web. Zdog is a pseudo-3D engine. Its geometries exist in 3D space, but are rendered as flat shapes. This makes Zdog special.

Zdog is small. 2,100 lines of code for the entire library. 28KB un-minified.
Zdog is round. All circular shapes are rendered as proper circles with rounded edges. No polygonal jaggies.
Zdog is friendly. Modeling is done with a straight-forward declarative API.

Zdog was designed to bring the simplicity of vector illustration into 3D. Drawing circles and squares is easy and fun. Zdog just adds another dimension.

Example of 3D Models

See the Pen Super Mario round 3D by Dave DeSandro
(@desandro) on CodePen.

See the Pen Celeste snowglobe round 3D by Dave DeSandro
(@desandro) on CodePen.

See the Pen Zdog – On the go by Dave DeSandro
(@desandro) on CodePen.

See the Pen Kirby round 3D by Dave DeSandro
(@desandro) on CodePen.

About Zdog

Created by David DeSandro, Zdog is directly inspired by Dogz, a virtual pet game by P.F. Magic released in 1995. It used flat 2D circle sprites to render the Dogz’ models, but in a 3D scene. See Dogz playthrough video here. Dogz were fully animated in real time, running, flopping, scratching (on Windows 3.1!). It was remarkable.

Zdog uses the same principal. It renders all shapes using 2D drawing API in  or . Spheres are actually dots. Toruses are actually circles . Capsules are actually thick lines. It’s a simple, but effective trick. The underlying 3D math comes from Rotating 3D Shapes by Peter Collingridge.

Zdog is pronounced “Zee-dog” in American parlance or “Zed-dog” in British.


0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *