Стала доступна JavaScript-библиотека Zdog 1.0, которая реализует 3D-движок для симуляции трёхмерных объектов на основе векторных примитивов Canvas и SVG, сообщает OpenNet.
Код проекта доступен на GitHub по лицензии MIT. Zdog насчитывает всего 2100 строк кода и занимает 28 Кб без минификации, но при этом позволяет создавать достаточно эффектные объекты, близкие к результатам работы иллюстраторов.
Библиотека предоставляет средства для работы с 3D объектами так же просто, как с векторными иллюстрациями. Движок был создан под впечатлением от компьютерной игры Dogz, в которой для формирования 3D-окружения применялись плоские двухмерные фигуры на основе спрайтовой графики.
3D-модели формируются при помощи простого декларативного API и компонуются через привязку и группировку простых форм, таких как прямоугольники, окружности, треугольники, отрезки, дуги, многоугольники и кривые, которые визуализируются в более сложные трёхмерные представления: сферы, цилиндры и кубы. При этом с точки зрения разработчика сферы определяются как точки, торы как круги, а капсулы как толстые линии. В Zdog применяются скруглённые формы, без выраженных полигональных неровностей.
Составные элементы объектов обрабатываются с учётом их относительных позиций и скрепления невидимыми якорями. Все динамические свойства (преобразования, вращения и масштабирования) представляют собой векторные операции, задаваемые при помощи объекта Vector. Для пространственных объектов поддерживаются полигональные сетки.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.