关于Web3D的一些基础知识分享

201 阅读4分钟

关于Web3D的一些基础知识分享~1

在这里我们把Wed3D理解为:互联网上的3D图形技术,大概介绍一下WebGL及主流3D库的基础知识,后续将结合具体案例开发分享更多~
前端技术实现在线可视化开发,基于webgl的3D框架主要有three.js,cesium.js等...

20230221100919.png

WebGL

WebGL(Web Graphics Library)是一种开放的3D图形标准,可以在浏览器中渲染3D图形。它是一种基于OpenGL ES 2.0的API,可以让开发者在浏览器中创建3D图形。WebGL使用JavaScript和GLSL(OpenGL Shading Language)来实现3D图形,可以让开发者创建复杂的3D图形,而不需要深入学习OpenGL ES的细节。 WebGL基于OpenGL的JavaScript API /库,允许Web浏览器在浏览器中渲染3D / 2D图形,而无需安装额外的插件,桌面应用程序,任何第三方插件或浏览器扩展。WebGL允许通过浏览器使用机器GPU将3D图形渲染为HTML页面。WebGL框架和库用于创建交互式展示,基于浏览器的游戏,详细的科学和医学可视化/模拟,虚拟现实和混合现实(MR)应用程序。WebGL已在游戏,工程,数据分析,地理空间分析,科学和医学可视化与模拟等多个行业中使用。

GLSL

GLSL(OpenGL Shading Language)是一种开放的着色语言,可以用于编写3D图形的着色器。它是一种基于C语言的语言,可以让开发者在OpenGL中编写着色器。GLSL可以让开发者创建复杂的3D图形,而不需要深入学习OpenGL的细节。 GLSL支持多种着色器,包括顶点着色器、片段着色器、几何着色器等。它还支持多种数据类型,包括整型、浮点型、布尔型、向量型等。此外,GLSL还支持多种着色器函数,包括纹理采样函数、光照函数、几何变换函数等。 GLSL还支持多种着色器变量,包括顶点变量、片段变量、常量变量等。它还支持多种着色器指令,包括纹理指令、光照指令、几何变换指令等。 GLSL可以让开发者快速编写着色器,而不需要深入学习OpenGL的细节。它提供了一个简单的语言,可以让开发者快速编写着色器,并且支持多种着色器、数据类型、着色器函数、着色器变量和着色器指令。因此,GLSL是一个非常有用的工具,可以帮助开发者快速编写着色器。

Three.js

Three.js是一个开源的JavaScript库,可以用于创建和显示3D图形。它可以让开发者使用WebGL来创建3D图形,而不需要深入学习WebGL的细节。Three.js提供了一个简单的API,可以让开发者快速开发出3D图形。 Three.js支持多种3D图形,包括立方体、球体、圆柱体、圆锥体、椎体、圆环体等。它还支持多种材质,包括纹理、环境贴图、着色器等。此外,Three.js还支持多种光照模型,包括点光源、平行光源、聚光灯等。 Three.js还支持多种动画,包括移动、旋转、缩放等。它还支持多种渲染器,包括WebGL渲染器、SVG渲染器、Canvas渲染器等。 Three.js可以让开发者快速开发出3D图形,而不需要深入学习WebGL的细节。它提供了一个简单的API,可以让开发者快速开发出3D图形,并且支持多种3D图形、材质、光照模型、动画和渲染器。

20230216154741.png

Cesium.js

Cesium.js是一个开源的JavaScript库,可以用于创建和显示3D地理空间数据。它可以让开发者使用WebGL来创建3D地理空间数据,而不需要深入学习WebGL的细节。Cesium.js提供了一个简单的API,可以让开发者快速开发出3D地理空间数据。 Cesium.js支持多种3D地理空间数据,包括地形、建筑物、植被、水体、道路等。它还支持多种材质,包括纹理、环境贴图、着色器等。此外,Cesium.js还支持多种光照模型,包括点光源、平行光源、聚光灯等。 Cesium.js还支持多种动画,包括移动、旋转、缩放等。它还支持多种渲染器,包括WebGL渲染器、SVG渲染器、Canvas渲染器等。 Cesium.js可以让开发者快速开发出3D地理空间数据,而不需要深入学习WebGL的细节。它提供了一个简单的API,可以让开发者快速开发出3D地理空间数据,并且支持多种3D地理空间数据、材质、光照模型、动画和渲染器。

20211210102906.png