第一节 three.js 入门介绍【Three.js整理】

​​​​​​​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

第一节 three.js 入门介绍【Three.js整理】_第1张图片

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第一节 three.js 入门介绍【Three.js整理】_第2张图片

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

第一节 three.js 入门介绍【Three.js整理】_第3张图片

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

Glsl中是使用到的函数

第一节 three.js 入门介绍【Three.js整理】_第4张图片

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

第一节 three.js 入门介绍【Three.js整理】_第5张图片

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

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

案例:

https://threejs.org/examples/#css3d_moleculeshttps://threejs.org/examples/#css3d_molecules第一节 three.js 入门介绍【Three.js整理】_第6张图片

three.js webgl - IFCLoaderhttps://threejs.org/examples/webgl_loader_ifc.html第一节 three.js 入门介绍【Three.js整理】_第7张图片

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

第一节 three.js 入门介绍【Three.js整理】_第8张图片

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

第一节 three.js 入门介绍【Three.js整理】_第9张图片

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

 第一节 three.js 入门介绍【Three.js整理】_第10张图片

three.js webgl - GLTFloader + variantshttps://threejs.org/examples/webgl_loader_gltf_variants.html第一节 three.js 入门介绍【Three.js整理】_第11张图片

three.js exampleshttps://threejs.org/examples/#webgl_loader_gltf_sheen第一节 three.js 入门介绍【Three.js整理】_第12张图片

 FF 91 VRFF 91 VR - Experience Faraday Future's 3D simulation of their flagship vehicle: FF 91第一节 three.js 入门介绍【Three.js整理】_第13张图片http://vr.ff.com/us/第一节 three.js 入门介绍【Three.js整理】_第14张图片FF 91 VRFF 91 VR - Experience Faraday Future's 3D simulation of their flagship vehicle: FF 91第一节 three.js 入门介绍【Three.js整理】_第15张图片http://vr.ff.com/us/

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

 第一节 three.js 入门介绍【Three.js整理】_第16张图片

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

第一节 three.js 入门介绍【Three.js整理】_第17张图片

 WebVR Showroom by Little WorkshopWebVR Showroom by Little Workshop

 第一节 three.js 入门介绍【Three.js整理】_第18张图片

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

智慧仓库

第一节 three.js 入门介绍【Three.js整理】_第19张图片

 智慧园区

第一节 three.js 入门介绍【Three.js整理】_第20张图片

 智慧机房

 第一节 three.js 入门介绍【Three.js整理】_第21张图片

 智慧建筑

第一节 three.js 入门介绍【Three.js整理】_第22张图片

智慧工厂

第一节 three.js 入门介绍【Three.js整理】_第23张图片

 第一节 three.js 入门介绍【Three.js整理】_第24张图片

 第一节 three.js 入门介绍【Three.js整理】_第25张图片

未来展望:

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

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

 

你可能感兴趣的:(Threejs,three.js,web3D,web前端)