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.