Zdog
Flat, round, designer-friendly pseudo-3D engine for canvas & SVG
README
Zdog
_Round, flat, designer-friendly pseudo-3D engine_
View complete documentation and live demos at zzz.dog.
Install
Download
+ zdog.dist.min.js minified, or
+ zdog.dist.js un-minified
CDN
Link directly to Zdog JS on unpkg.
- ``` html
 - <script src="https://unpkg.com/zdog@1/dist/zdog.dist.min.js"></script>
 - ```
 
Package managers
npm: npm install zdog
Bower: bower install zdog
Hello world demo
Create 3D models with Zdog by adding shapes. See Getting started for a walk-through of this demo.
- ``` js
 - let isSpinning = true;
 - let illo = new Zdog.Illustration({
 - element: '.zdog-canvas',
 - zoom: 4,
 - dragRotate: true,
 - // stop spinning when drag starts
 - onDragStart: function() {
 - isSpinning = false;
 - },
 - });
 - // circle
 - new Zdog.Ellipse({
 - addTo: illo,
 - diameter: 20,
 - translate: { z: 10 },
 - stroke: 5,
 - color: '#636',
 - });
 - // square
 - new Zdog.Rect({
 - addTo: illo,
 - width: 20,
 - height: 20,
 - translate: { z: -10 },
 - stroke: 3,
 - color: '#E62',
 - fill: true,
 - });
 - function animate() {
 - illo.rotate.y += isSpinning ? 0.03 : 0;
 - illo.updateRenderGraph();
 - requestAnimationFrame( animate );
 - }
 - animate();
 - ```
 
About Zdog
Hi, Dave here. I wanted to make a video game. I needed a 3D engine, but most engines were too powerful and complex for me. I made Zdog so I could design and display simple 3D models without a lot of overhead.
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.
探客时代
