New 3D engine makes it easy to design models

3D Kirby floating through a ring of stars with an umbrella
Image: Zdog

If you're a digital artist who's always worked in 2D, the thought of stepping up to the third dimension probably sounds exciting but daunting. That's exactly how designer and developer David DeSandro felt, so he decided to create Zdog, a straightforward 3D modelling engine designed for use on the web. And after working on it for the last year, DeSandro recently launched it as a beta-release to the public.

On the Zdog site, DeSandro explains that the 3D JavaScript engine is designed for use with <canvas> and SVG. And once you get to grips with it, you can design and render simple 3D models. What separates Zdog from other engines that have been used to create inspirational 3D art and 3D portraits though is that while its geometries exist in 3D space, they are actually rendered from flat shapes.

This has prompted DeSandro to describe Zdog as a pseudo-3D engine. "Zdog was designed to bring the simplicity of vector illustration into 3D," he reveals on the Zdog site. "Drawing circles and squares is easy and fun. Zdog just adds another dimension."

His engine takes its inspiration from Dogz, a 1995 virtual pet game that used 2D sprites to render models in a 3D scene. "Zdog uses the same principal. It renders all shapes using 2D drawing API in <canvas> or <svg>. Spheres are actually dots. Toruses are actually circles . Capsules are actually thick lines. It’s a simple, but effective trick."

For DeSandro, the decision to create Zdog came about after he struggled to get his head around other more powerful and complex 3D engines. "I made Zdog so I could design and display simple 3D models without a lot of overhead," he adds.

The small but powerful library only weighs in at 2,100 lines of code, and the modelling is all done with a straight-forward declarative API. And because all round shapes are rendered as proper circles, they won't be distorted by polygonal jaggies.

We've been blown away by the work DeSandro has created in Zdog. Take a look at some of the amazing examples he's shared below, complete with CodePen demo links, and head over to the Zdog site to download it for free today.

Related articles: