Three.js可视化系统课程WebGL(23年9月升级版+37章+700多课时)
网盘地址:https://pan.baidu.com/s/1YIBc-Gk8gfH3z4GWPMoGxw 提取码:6sj8
腾讯微云下载地址:https://share.weiyun.com/1q2qapRE 密码:6gxj6q
Three.js可视化系统课程WebGL,又名:WebGL/Three.js前端高薪3D可视化,视频+源码+课件下载!
three.js,一个WebGL引擎,基于JavaScript,可直接运行GPU驱动游戏与图形驱动应用于浏览器。其库提供的特性与API以绘制3D场景于浏览器。
为什么选择three.js
官网对 「Threejs」 的介绍非常简单:“Javascript 3D library”。「openGL」 是一个跨平台3D/2D的绘图标准,「WebGL」 则是「openGL」 在浏览器上的一个实现。web前端开发人员可以直接用「WebGL」 接口进行编程,但 「WebGL」 只是非常基础的绘图API,需要编程人员有很多的数学知识、绘图知识才能完成3D编程任务,而且代码量巨大。「Threejs」 对 「WebGL」 进行了封装,让前端开发人员在不需要掌握很多数学知识和绘图知识的情况下,也能够轻松进行web 3D开发,降低了门槛,同时大大提升了效率。总结来一句话: 就是你不懂计算机图形学,只要理解了three.js的一些基本概念你可以。
WebGL(全写Web Graphics Library)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。显然,WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏等等。
Webgl的渲染依赖底层GPU的渲染能力。所以WEBGL 渲染流程和 GPU 内部的渲染管线是相符的。
渲染管线的作用是将3D模型转换为2维图像。
在早期,渲染管线是不可编程的,叫做固定渲染管线,工作的细节流程已经固定,修改的话需要调整一些参数。
现代的 GPU 所包含的渲染管线为可编程渲染管线,可以通过编程 GLSL 着色器语言 来控制一些渲染阶段的细节。
简单来说: 就是使用shader,我们可以对画布中每个像素点做处理,然后就可以生成各种酷炫的效果了。
核心概念
在three.js中,核心的便是场景(scene)、相机(camera)、渲染器(renderer),有了这三者,才能使用相机将场景渲染到网页上去。
(1)场景
描述3D使用的就是场景,使用THREE.Scene()构造,注意,THREE是对象,而Scene是构造函数,所以首字母都是大写的。
(2)相机
相机就像我们的眼睛,从不同的角度看,那么看到的场景也就不一样。另外,场景是一样的,而相机有多种拍照方式,所以,需要我们根据需要调整。而最常用的就是透视相机,即THREE.PerspectiveCamera(),同样的,THREE是对象,PerspectiveCamera是构造函数,首字母大写,且是驼峰式命名方法
(3)渲染器
即在网页上显示什么元素,都是需要渲染出来的,使用THREE.WebGLRenderer,且在使用过程中,需要使用domElement挂载到页面上,后面的例子会讲解。
而对于这三者,我们可以认为场景是一个容器,可以将一些物体如cube放在这个容器中;而相机的作用就是对这个选择合适的角度容器拍摄得到一张照片;渲染器的作用是把相机拍到的照片放到浏览器中显示