Pubblicata la libreria JavaScript , che implementa un motore 3D in grado di simulare oggetti tridimensionali basati su primitive vettoriali di Canvas e SVG, ossia realizza uno spazio geometrico tridimensionale con il rendering effettivo di forme piatte. Il codice del progetto è concesso in licenza MIT. La libreria conta solo 2100 righe di codice e occupa 28 KB senza minimizzazione, ma consente comunque di creare oggetti piuttosto impressionanti, simili ai risultati realizzati da illustratori.
L'obiettivo del progetto è fornire strumenti che consentano di lavorare con oggetti 3D con la stessa facilità delle illustrazioni vettoriali. Il motore è stato creato ispirandosi a un vecchio videogioco , in cui per formare l'ambiente 3D venivano utilizzate figure bidimensionali piatte basate su grafica sprite.

I modelli di oggetti 3D in Zdog vengono creati utilizzando una semplice API dichiarativa e sono assemblati tramite binding e raggruppamento , come rettangoli, cerchi, triangoli, segmenti, archi, poligoni e curve. In Zdog vengono utilizzate forme arrotondate, senza spigoli poligonali pronunciati. Le forme semplici vengono visualizzate in rappresentazioni tridimensionali più complesse, come sfere, cilindri e cubi. Da un punto di vista dello sviluppatore, le sfere sono definite come punti, i tori come cerchi e le capsule come linee spesse.
Gli elementi compositivi degli oggetti vengono elaborati tenendo conto delle loro posizioni relative e fissati con ancore invisibili. Tutte le proprietà dinamiche, come trasformazioni, rotazioni e scalature, sono operazioni vettoriali definite tramite l'oggetto Vector. Per gli oggetti spaziali sono supportate le maglie poligonali.
Fonte: opennet.ru
