【懂码杂记】Three.js :一款优秀的3D绘图引擎
使用原生WebGL进行3D图形编程是一件很繁琐的事情 , 复杂的API接口让众多开发者望而生畏 。 为了解决众多开发者的困扰 , Three.js应用而生 。 Three.js 是一款JavaScript 3D引擎 。 它以简单、直观的方式封装了3D图形编程中常用的对象 , 它在开发中使用了很多图形引擎的高级技巧 , 极大地提高了性能 。 另外 , 由于内置了很多常用对象和极易上手的工具 , 因此功能也非常强大 。 掩盖了3D渲染的细节
Three.js 将WebGL原生API的细节抽象化 , 将3D场景拆解为网格、材质和光源面向对象
开发者可以使用上层的JavaScript对象 , 而不仅仅是调用JavaScript函数功能丰富
除了封装了WebGL原生API之外 , Three.js 还包含了许多实用的内置对象 , 可以方便地应用于游戏开发、动画制作、幻灯片制作、高分辨率模型和一些特殊的视觉效果制作速度很快
Three.js采用了3D图形最佳实践来保证在不失可用性的前提下 , 保持极高的性能 。 支持交互
WebGL本身并不提供拾取功能 , 而Three.js固化了拾取支持 , 这就使得开发可以轻松为每个应用添加交互功能 。 包含数学库
Three.js拥有一个强大易用的数学库 , 你可以在其中进行矩阵、投影和矢量运算 。 内置文件格式支持
你可以使用流行的3D建模软件导出文本格式的文件 , 然后使用Three.js加载;也可以使用Three.js自己的JSON格式或者二进制格式 。 扩展性很强
为Three.js 添加新的特性或进行自定义优化是很容易的事情 。 如果你需要某个特殊的数据结构 , 那么只需要封装到Three.js即可 。
下面使用Three.js 对之前绘制矩形的代码进行改造:
本文插图
Three.js绘制矩形
本文插图
Three.js 绘制矩形
通过Three.js , 我们可以创造出很优秀的3D作品 , 尽情拭目以待!
本文插图
【【懂码杂记】Three.js :一款优秀的3D绘图引擎】
