Three.js

Three.js是一个跨浏览器的脚本,使用JavaScript函数库或API来在网页浏览器中创建和展示动画的三维计算机图形。Three.js使用WebGL。源代码托管在GitHub。Three.js允许使用JavaScript创建网页中的GPU加速的3D动画元素,而不是使用特定的浏览器插件。这归功于WebGL的出现。

webgl封装成便于用户使用的Three.js ,类似jquery封装了JavaScript,那么什么是webgl呢?

WebGL

WebGL是一种JavaScript API,用于在不使用插件的情况下在任何兼容的网页浏览器中呈现交互式2D和3D图形[2]。WebGL完全集成到浏览器的所有网页标准中,可将影像处理和效果的GPU加速使用方式当做网页Canvas的一部分。WebGL元素可以加入其他HTML元素之中并与网页或网页背景的其他部分混合,WebGL技术结合了HTML5和 Java Script,允许开发者在网页(Web页面)上创建和渲染三维图形。

OpenGL_ES

OpenGL ES(OpenGL for Embedded Systems)是三维图形应用程序接口OpenGL的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由科纳斯组织定义推广,科纳斯是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。

OpenGL

OpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来从简单的图形比特绘制复杂的三维景象。而另一种程序接口系统是仅用于Microsoft Windows上的Direct3D。OpenGL常用于CAD、虚拟现实、科学可视化程序和电子游戏开发。

https://www.tutorialspoint.com/webgl/webgl_introduction.htm扩展阅读
WebGL 工作原理https://webglfundamentals.org/webgl/lessons/zh_cn/webgl-how-it-works.html

WebGL仅仅是一个光栅化引擎,它可以根据你的代码绘制出点,线和三角形。 想要利用WebGL完成更复杂任务,取决于你能否提供合适的代码,组合使用点,线和三角形代替实现。

WebGL在电脑的GPU中运行。因此你需要使用能够在GPU上运行的代码。 这样的代码需要提供成对的方法。每对方法中一个叫顶点着色器, 另一个叫片断着色器,并且使用一种和C或C++类似的强类型的语言GLSL。 (GL着色语言)。 每一对组合起来称作一个program(着色程序)。

The Book of Shaders: Hello world!Gentle step-by-step guide through the abstract and complex universe of Fragment Shaders.https://thebookofshaders.com/02/?lan=ch

The Book of Shaders: uniformsGentle step-by-step guide through the abstract and complex universe of Fragment Shaders.https://thebookofshaders.com/03/?lan=ch

The Book of Shaders: Shaping functionshttps://thebookofshaders.com/05/?lan=ch

Glsl中是使用到的函数

将上面的公式与下面的图片联系到一起

官网:https://threejs.org/https://threejs.org/

在线编辑:https://mrdoob.com/projects/htmleditor/

案例:

https://threejs.org/examples/#css3d_moleculeshttps://threejs.org/examples/#css3d_molecules

three.js webgl - IFCLoaderhttps://threejs.org/examples/webgl_loader_ifc.html

three.js exampleshttps://threejs.org/examples/#webgl_panorama_cube

three.js exampleshttps://threejs.org/examples/#webgl_points_dynamic

three.js exampleshttps://threejs.org/examples/#webgl_water

three.js webgl - GLTFloader + variantshttps://threejs.org/examples/webgl_loader_gltf_variants.html

three.js exampleshttps://threejs.org/examples/#webgl_loader_gltf_sheen

FF 91 VRFF 91 VR - Experience Faraday Future's 3D simulation of their flagship vehicle: FF 91http://vr.ff.com/us/FF 91 VRFF 91 VR - Experience Faraday Future's 3D simulation of their flagship vehicle: FF 91http://vr.ff.com/us/

Earth 2050: A glimpse into the future | Kasperskyhttps://2050.earth/

Trigger RallyFast arcade rally racing action! Play in your browser with WebGL 3D graphics.https://codeartemis.github.io/TriggerRally/server/public/

WebVR Showroom by Little WorkshopWebVR Showroom by Little Workshop

目前应用现状:物联网、数字孪生(概念)

智慧仓库

智慧园区

智慧机房

智慧建筑

智慧工厂

未来展望:

5G的发展、数字孪生(成熟阶段)、沉浸式虚拟社交(美剧:西部世界)、沉浸式游戏(电影:盗梦空间,游戏:使命召唤)

元宇宙:脑机接口+VR虚拟现实+AR增强现实;eg:西部世界、盗梦空间

通过github与我交流:

three.js-ply-point-cloud/wechart.png at main · wlii/three.js-ply-point-cloud · GitHub

第一节 three.js 入门介绍【Three.js整理】相关推荐

  1. 第一节:基础概念介绍(黄老师)

    最近偶然在网上看到韦东山老师的课程--7天物联网智能家居实战训练,常常在关于Linux学习或者嵌入式学习的文章中看到韦东山老师的名字,但是还从来没有实际听过,因为大家都说要先从51,再过渡到STM32 ...

  2. 移动手机应用开发js框架zepto.js入门介绍

    zepto.js是一个专为mobile WebKit浏览器(如:Safari和Chrome)而开发的一个JavaScript框架. 它标榜自己在其简约的开发理念,能够帮助开发人员简单.快速地完成开发交 ...

  3. FireBug 调试JS入门 —如何调试JS

    安装就不用说了,很简单,在FireFox上插件库里找到FireBug就Ok了.下图是FireBug Debug 窗口. FireBug美工用的非常普遍,公司美工妹妹用的非常熟练 呵呵,而对于我们开发人 ...

  4. 第一节:开发工具介绍及环境变量配置(讲师笔记篇)

    01.01_计算机基础知识(计算机概述)(了解) A:什么是计算机?计算机在生活中的应用举例 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代 ...

  5. 第一节:Ajax 入门及环境

    Ajax 介绍 全称:Asynchronous Javascript And XML 作用:获取服务器的数据 应用场景 页面上拉加载更多数据 列表数据无刷新分页 表单项离开焦点数据验证 搜索框提示文字 ...

  6. (软件工程复习核心重点)第二章可行性研究-第一节:可行性研究基本介绍

    文章目录 一:可行性研究的目的 二:可行性研究的本质 三:可行性研究的任务 (1)最根本任务 (2)具体任务 二:可行性研究过程(步骤) 一:可行性研究的目的 可行性研究的目的:用最小的代价在最小的时 ...

  7. Node.js 入门教程 23 使用 npm 的语义版本控制 24 卸载 npm 软件包 25 npm 全局或本地的软件包

    Node.js 入门教程 Node.js官方入门教程 Node.js中文网 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录 Node.js 入门教程 23 使用 npm 的语义版本控制 24 ...

  8. Node.js 入门教程 6 V8 JavaScript 引擎

    Node.js 入门教程 Node.js官方入门教程 Node.js中文网 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录 Node.js 入门教程 6 V8 JavaScript 引擎 6 ...

  9. php引入外部js,vue.js怎么引入外部js,vue引入第三方js库

    vue.js怎么引入外部js·怎么介绍外部js,在vue.js中引入外部js的方法如下:1.使用外部文件[config.js],代码为[函数格式XML(text){ return text }]:2. ...

最新文章

  1. Java数据结构——解析算术表达式
  2. CLRS2e读书笔记—Chapter5 Appendix C
  3. 实现账号在一端登入_跟我学spring security 基于数据库实现一个基本的登入登出...
  4. codevs 1085 数字游戏 dp或者暴搜
  5. WebRTC 系列之视频辅流
  6. 企业选择做网站托管服务的几大因素
  7. Swoole-2.1.2 进程池模块的使用
  8. 迅为I.MX6Q开发板配不同分辨率不同尺寸液晶屏幕
  9. SAP Fiori应用Footerbar区域按钮的高亮显示逻辑
  10. Java学习笔记2.4.3 选择结构 - 多分支结构
  11. 网校网络工程师视频下载
  12. 如何在苹果Mac上设置文档样板,开启文档时自动复制?
  13. 如何在点击事件中取得复选框选中的单元格值
  14. 网站渗透测试该怎么选择最便宜
  15. Python爬虫实战之利用多线程爬取千图网的素材图片
  16. [填坑]ubuntu 18.04+Windows 10双硬盘双系统修改默认启动顺序
  17. 西南交大计算机应用基础 第2次作业 主观题目,西南交大网络教育2011-2012学年计算机应用基础第四次作业(主观题)...
  18. python期货基本面分析_Python股票期货交易利器,砖型图详细绘制教程!
  19. 小米路由修改服务器密码,192.168.31.1小米路由器修改WIFI密码
  20. 取消超时订单及延迟处理方案

热门文章

  1. YUM和PXE自动装机
  2. java中的命令执行汇总
  3. 贝叶斯垃圾邮件分类问题中联合概率的推导
  4. 各类3D建模格式转换gltf格式【来源一个建模APP客户问题解决】
  5. 局域网文件夹同步工具
  6. 对 Android 重力感应器的初步认识
  7. Linux netstat命令结果分析
  8. Docker服务启动报错:Job for docker.service failed because the control process exited with error
  9. 英伟达 gsync demo NVIDIA 钟摆测试
  10. VB编程:代码实现窗体居中显示-59