Zdog 1.0 推出,一个使用 Canvas 和 SVG 的 Web 伪 3D 引擎

JavaScript 库版本可用 兹狗1.0,它实现了一个基于 Canvas 和 SVG 矢量基元模拟三维对象的 3D 引擎,即通过实际绘制平面形状来实现三维几何空间。 项目代码 是开放的 根据麻省理工学院的许可。 该库只有 2100 行代码,在不缩小的情况下占用 28 KB,但同时它允许您创建令人印象深刻的对象,这些对象在本质上接近插画家的工作结果。

该项目的目标是提供工具,使您能够像处理矢量插图一样轻松地处理 3D 对象。 该引擎的灵感来自于一款古老的电脑游戏 DOGZ,其中基于精灵图形的平面 3D 形状用于创建 XNUMXD 环境。

Zdog 1.0 推出,一个使用 Canvas 和 SVG 的 Web 伪 3D 引擎

Zdog 中的 3D 对象模型是使用简单的声明性 API 生成的,并通过捕捉和分组进行排列 简单的形状,例如矩形、圆形、三角形、线段、圆弧、多边形和曲线。 Zdog 使用圆形形状,没有明显的多边形不规则形状。 简单的形状被渲染成更复杂的 XNUMXD 表示,例如球体、圆柱体和立方体。 此外,从开发者的角度来看,球体被定义为点,圆环被定义为圆,胶囊被定义为粗线。

对象的组成元素在处理时考虑了它们的相对位置并通过不可见的锚点固定在一起。 所有动态属性(例如变换、旋转和缩放)都是使用 Vector 对象指定的矢量操作。 要素支持多边形网格。

来源: opennet.ru

添加评论