您现在的位置是:网站首页> 编程资料编程资料
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍PixiJS V4 基于WebGL的超快HTML5 2D渲染引擎在支持HTML5的浏览器上运行WebGL程序的方法HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代基于HTML5的WebGL实现json和echarts图表展现在同一个界面
2021-09-01
963人已围观
简介 前面我们看到了使用原生的WebGL API开发是多么的累,只因如此大量的WebGL框架被开发出来,这些框架不同程度的封装了创建3D场景的各种要素你可以快速创建需要的3D场景,感兴趣的朋友可以了解下,或许本文对你有所帮助
前面我们看到了使用原生的WebGL API开发是多么的累,正因为如此,大量的WebGL框架被开发出来。使用这些框架,你可以快速创建需要的3D场景。这些框架不同程度的封装了创建3D场景的各种要素,例如场景,相机、模型、光照、材质等等;使用这些封装起来的对象,就可以很简单的创建需要的3D场景,这样你就只需要把更多精力放在逻辑方面就可以了。
目前并没有哪一个具有能压倒其他框架的优势,选择什么样的框,还是看个人喜好吧,不过选择框架的时候,个人觉得还是多看看框架最后的更新时间,选择稳定更新的框架能让你始终能使用上最新的特性,使你的程序稳定性更好。
下面的例子就使用了Three.js框架进行开发。
Three.js是一个比较全面的开源框架,它良好的封装的3D场景的各种要素。你可以用它来很容易的去创建摄像机,模型,光照,材质等等。你还可以选择不同的渲染器,Three.js提供了多种渲染方式,你可以选择使用canvas来渲染,也可以使用WebGL或者SVG来进行渲染。
此外,Three.js可以加载很多格式的3D文件,你的模型文件可以来自Blender,Maya,Chinema4D,3DMax等等。而且内置了比较基础的东西:(球体)Spheres, (飞机)Planes, (立方体) Cubes, (圆柱体)Cylinders。Three.js创建这些物体会非常的容易。
好了,不废话了,直接看代码:
这个是全部的代码,相对于前面使用WebGL的API的代码,这个简直就是太简单了。
代码很直观,就那么几步:
1. 创建场景scene。
2. 创建摄像机camera。
3. 创建/加载模型geometry。
4. 加载材质material。
5. 渲染模型对象mesh(是由geometry和material组成)。
6. 启用动画。
这是每个框架都提供的功能,使用不同的框架除了函数的名称可能不同以外,这些步骤基本都是一样的。下面的参考中列出了很多的框架学习文档,大家可以选几种学习一下。
针对模型数据,我还想说一点,因为JSON短小精悍,所以比较适合网络传输。未来它可能成为最适合WebGL的模型数据格式,所以很多的框架都开始支持JSON格式的模型数据。
实用参考:
开发中心:https://developer.mozilla.org/en/WebGL
精品在线开发工具:http://webglplayground.net/
各种框架基础教程:http://www.html5china.com/HTML5features/WebGL/
WebGL中文教程:http://www.hiwebgl.com/?p=42
Oak3D中文教程:http://www.hiwebgl.com/?cat=57
CubicVR3D官网: http://www.cubicvr.org/
Three.js图形库: https://github.com/mrdoob/three.js
各种框架的收集贴:http://www.appcrews.com/2011/07/129.html
相关内容
- HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代PixiJS V4 基于WebGL的超快HTML5 2D渲染引擎在支持HTML5的浏览器上运行WebGL程序的方法HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍基于HTML5的WebGL实现json和echarts图表展现在同一个界面
- HTML5之HTML元素扩展(下)—增强的Form表单元素值得关注详解HTML5表单新增属性HTML Form表单元素全面了解html5表单及新增的改良元素详解HTML5新增的表单元素和属性实例解析HTML5 的新的表单元素(datalist/keygen/output)使用介绍HTML标记语言——表单HTML表单标记教程(2):HTML表单标记教程(4):带有图片预览功能的上传表单的完整HTMLXHTML入门学习教程:表单标签
- HTML5之HTML元素扩展(上)—新增加的元素及使用概述HTML5不支持标签和新增标签详解浅谈HTML5新增及移除的元素html5表单及新增的改良元素详解win10 Build 10565中Edge浏览器新增对HTML5视频的播放控制及下载HTML5新增的8类INPUT输入类型介绍HTML5新增的表单元素和属性实例解析HTML5新增元素如何兼容旧浏览器有哪些方法html5的新增的标签和废除的标签简要概述HTML5的标签的代码的简单介绍 HTML5标签的简介自定义html标记替换html5新增元素
- 突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)Html5中的桌面通知Notification的实现HTML5实现桌面通知 提示功能HTML5实现Notification API桌面通知功能 html5桌面通知(Web Notifications)实例解析HTML5中的Web Notification桌面通知功能的实现方法
- 突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述5分钟弄清楚html5的drag and drop(小结)HTML5 拖放(Drag 和 Drop)详解与实例代码详解HTML5中的拖放事件(Drag 和 drop)HTML5+CSS3实现拖放(Drag and Drop)示例HTML5 drag和drop具体使用详解
- 突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
- 突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述程序设计HTML5 Canvas API html5中几个不容错过的api或者tips小结HTML5中5个简单实用的APIHTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电5 个强大的HTML5 API 函数推荐
- HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦html5中几个不容错过的api或者tips小结5 个强大的HTML5 API 函数推荐HTML5中5个简单实用的APIhtml5中 media(播放器)的api使用指南HTML5学习笔记之History API
- 基于HTML5 FileSystem API的使用介绍html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
- HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题html5中监听canvas内部元素点击事件的三种方法HTML5 创建canvas元素示例代码html5的canvas元素使用方法介绍(画矩形、画折线、圆形)浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
