01 初识Three.js

什么是WebGL?

WebGL(Web图形库)是一种JavaScript API,用于在任何兼容的Web浏览器中呈现交互式的3D或者2D图形,并且不用使用任何的插件。WebGL通过引入一个与OpenGL ES2.0紧密相符合的API,可以在HTML5元素中使用。简而言之,WebGL可以提供一系列的图形接口,通过js去使用GPU来进行浏览器图形渲染的工具。

什么是Three.js?

Three.js是一款WebGL框架,由于其易用性被广泛应用。而Three.js在WebGL的API接口基础上又进行了一层封装。Three.js以简单、直观的方式封装了3D图形编程中常用的对象。Three.js在开发中使用了很多图形引擎的高级技巧,极大的提高了性能,而由于其内置了很多常用对象和极易上手的工具,Three.js的功能也很强大,关键在于Three.js是完全开源的。

WebGL和Three.js的关系

WebGL原生的API是一种非常低级的接口,而且还需要一些数学和图形学的相关技术。对于没有相关基础的人来说,入门比较困难,Three.js将入门的门槛降低了整整一大截,对WebGL进行封装,简化了我们创建三维动画场景的过程。只需要有一定的JavaScript基础,有一定的前端经验即可。用一句话概括二者的关系:WebGL与Three.js的关系相当于JavaScript与jQuery之间的关系。

Three.js的功能概述

由于Three.js的易用性和扩展性,使其能够满足大部分的开发需求,Three.js的具体功能如下:

  1. Three.js掩盖了3D渲染的细节。Three.js将WebGL原生的API的细节抽象化,将3D场景拆解为网格、材质和光源(即Three.js内置了图形编程常用的一些对象种类)。
  2. 面向对象。开发者可以使用上层的JavaScript对象,而不仅仅调用JavaScript函数。
  3. 功能丰富。Three.js除了封装了WebGL原始的API之外,Three.js还包含了许多实用的内置对象,可以方便的应用于游戏开发、动画制作、幻灯片制作、高分辨率模型和一些特殊的视觉效果制作。
  4. 速度快。Three.js采用了3D图形最佳实践来保证在不失可用性的前提下保持极高的性能。
  5. 支持交互。WebGL本身不提供拾取功能(即是否知道鼠标正处于某个物体上),而Three.js则固化了拾取支持,这就便于为应用添加交互功能。
  6. 包含数学库。Three.js拥有一个强大易用的数学库,可以在其中进行矩阵、投影和矢量计算。
  7. 内置文件格式支持。可以使用当前的3D建模软件导出文本格式的文件,然后使用Three.js加载,也可以使用Three.js自带的json格式或者二进制格式。
  8. 扩展性强。为Three.js添加新的特性或进行自定义优化是很容易的事。如果需要某个特殊的数据结构,那么只需要封装到Three.js即可。
  9. 支持HTML5 canvas。Three.js不仅支持WebGL,而且还支持使用canvas2D、CSS3D和SVG进行渲染。在未兼容的WebGL环境中可以回退到其他的解决方案。

Three.js的缺点

虽然Three.js的优势很大,但是其也有不足的地方:

  1. 官网文档非常粗糙,对于入门的新手极度不好。
  2. 国内相关资源的匮乏。
  3. Three.js多有的资料都是以英文格式存在,对于英文不好的开发者来说又提高了门槛。
  4. Three.js不是游戏引擎,一些游戏相关的功能并没有封装在里面,如果需要相关的功能则需要进行二次开发。

Three.js的引用

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>three.js-01</title>
        <link rel="stylesheet" type="text/css" href="css/threejs01.css"/>
        <script type="text/javascript" src="js/jquery-1.10.2.js"></script>
    </head>
    <body onload="init()">
        <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/92/three.js"></script>
        <script>
          //书写需要的JS代码
        </script>
    </body>
</html>

如果需要更新代码,可以去网址http://www.bootcdn.cn/three.js/查找最新版本地址引入即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
node.js稳定版本是指当前被广泛使用并且被认为是相对稳定和可靠的版本。根据引用所述,当前发布的版本被称为LTS(Long-term Support,长期支持)版本,其中LTS版本被认为是相对稳定的版本,适用于企业级项目和对稳定性有要求的应用。LTS版本会提供长期支持和更新,以确保安全性和稳定性。所以,如果你想使用一个稳定版本的node.js,建议你选择LTS版本。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [利用n 升级工具升级Node.js版本及在mac环境下的坑](https://download.csdn.net/download/weixin_38643212/14004637)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Nodejs生产环境稳定的版本及async/await的稳定版本](https://blog.csdn.net/pengpengzhou/article/details/82382866)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [初识Node.js-安装](https://blog.csdn.net/u014225032/article/details/126247431)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值