Three.js是什么

Fanly问答2020-08-12 13:47:46阅读(...)

Three.js是一个跨浏览器的脚本,使用JavaScript函数库或API来在网页浏览器中创建和展示动画的三维计算机图形。Three.js使用WebGL。源代码托管在GitHub。

Three.js 是一个跨浏览器的脚本,使用 JavaScript 函数库或 API 来在网页浏览器中创建和展示动画的三维计算机图形。Three.js 使用 WebGL。源代码托管在 GitHub。

Three.js

Three.js 允许使用 JavaScript 创建网页中的 GPU 加速的 3D 动画元素,而不是使用特定的浏览器插件。这归功于 WebGL 的出现。

高级的 JavaScript 函数库例如 Three.js 或 GLGE、SceneJS、PhiloGL 或一定数量的其他函数库使作者在浏览器中显示复杂的三维计算机动画而不需要使用传统的独立应用程序或插件成为可能。

历史

Three.js 由 Ricardo Cabello 在 2010 四月于 GitHub 首次发布。它的起源可以追溯到他在本世纪初演示场景的参与。代码最初是在 ActionScript,稍后 2009 年移植到 JavaScript。在 Cabello 看来,转移到 JavaScript 有两个优点:每次运行前没有编译代码和平台独立性。随着 WebGL 的到来,Paul Brunt 增加渲染功能,这使 Three.js 的设计与绘制的代码作为一个模块,而不是核心本身。Cabello 的贡献包括 API 的设计、CanvasRenderer、 SVGRenderer 并负责合并各种贡献到该项目。

该项目的二号贡献者 Branislav Ulicny 在 2010 年张贴在自己的网站一些 WebGL 演示后开始参与 Three.js 的开发工作。他希望 Three.js 中的 WebGL 渲染能力超过 CanvasRenderer 或 SVGRenderer。他的主要贡献通常涉及素材、着色器和后处理。

稍后在 WebGL 1.0 在 2011 年引入火狐 4 后,Joshua Koo 开始参与工作。他在 2011 年 9 月创建了他的第一个面向 3D 文本的 Three.js 样本。目前该项目总共有 650 次贡献。

特性

Three.js 包括以下特性:

  • 效果:浮雕,对眼和视差屏障。
  • 场景:在运行时添加和删除对象;雾
  • 镜头:视角和正字法;控制器:轨迹球、FPS、路径等
  • 动画:电枢,运动学,逆运动学,变形和关键帧
  • 灯光:环境、方向、点和点光;阴影:投射和接收
  • 材料:Lambert、海防、光滑阴影,纹理和更多
  • 材质:访问完整的 OpenGL 着色语言(GLSL)能力:镜头光晕,经过深入而广泛的后置处理库
  • 对象:网格、粒子、精灵、线、带、骨头和更多-所有细节层次
  • 几何:平面,立方体,球体,圆环,3D 文本等;修改器:车床,挤压和管
  • 数据加载器:二进制,图像,JSON 和场景
  • 事业:全套时间和三维数学函数包括锥、矩阵、四元、UVs 等
  • 输入输出:three.js-compatible JSON 文件:Blender,openctm,FBX,Max,OBJ
  • 支持:API 文档正在建设中,公共论坛和维基全面运作
  • 例子:超过 150 个文件的编码例子加字体,模型,纹理,声音和其他支持文件
  • 调试:Stats.js,WebGL 检查员,Three.js 检查员

Three.js 在所有支持 WebGL 1.0 的浏览器皆可运行。

Three.js 依据 MIT 公用许可证发布。

收藏0个人收藏
走进科技生活方式

评论交流

泪雪默认头像请「登录」后参与评论
  1. 加载中..