Zdog 1.0 introduit, un moteur pseudo-3D pour le Web utilisant Canvas et SVG

Version de la bibliothèque JavaScript disponible Zdog 1.0, qui implémente un moteur 3D qui simule des objets tridimensionnels basés sur des primitives vectorielles Canvas et SVG, c'est-à-dire mettre en œuvre un espace géométrique tridimensionnel avec un dessin réel de formes plates. Code de projet est ouvert sous licence MIT. La bibliothèque ne compte que 2100 lignes de code et occupe 28 Ko sans minification, mais en même temps elle permet de créer des objets assez impressionnants et proches par nature des résultats du travail des illustrateurs.

Le but du projet est de fournir des outils permettant de travailler avec des objets 3D aussi facilement qu'avec des illustrations vectorielles. Le moteur est inspiré d'un vieux jeu informatique Chienz, dans lequel des formes plates 3D basées sur des graphiques de sprites ont été utilisées pour créer un environnement XNUMXD.

Zdog 1.0 introduit, un moteur pseudo-3D pour le Web utilisant Canvas et SVG

Les modèles d'objets 3D dans Zdog sont générés à l'aide d'une simple API déclarative et organisés par capture et regroupement. formes simples, tels que des rectangles, des cercles, des triangles, des segments de ligne, des arcs, des polygones et des courbes. Zdog utilise des formes arrondies, sans irrégularités polygonales prononcées. Les formes simples sont transformées en représentations XNUMXD plus complexes telles que des sphères, des cylindres et des cubes. De plus, du point de vue du développeur, les sphères sont définies comme des points, les tores comme des cercles et les capsules comme des lignes épaisses.

Les éléments constitutifs des objets sont traités en tenant compte de leurs positions relatives et étant maintenus ensemble par des ancres invisibles. Toutes les propriétés dynamiques, telles que les transformations, les rotations et les échelles, sont des opérations vectorielles spécifiées à l'aide d'un objet Vector. Les maillages polygonaux sont pris en charge pour les entités.

Source: opennet.ru

Ajouter un commentaire