• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代

HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含WebGL,3D,渲染等相关知识,佚名 希望在学习及工作中可以帮助到您

WebGL开启了网页3D渲染的新时代,它允许在canvas中直接渲染3D的内容,而不借助任何插件。WebGL同canvas 2D的API一样,都是通过脚本操纵对象,所以步骤也是基本相似:准备工作上下文,准备数据,在canvas中绘制对象并渲染。与2D不同的就是3D涉及的知识更多了,例如世界、光线、纹理、相机、矩阵等专业知识。WebGL有一个很好的中文教程,就是下面使用参考中的第一个链接,所以这里不再班门弄斧,后面的内容只是简单的总结一下学习的内容。

浏览器的支持
由于微软有自己的图形发展计划,一直不支持WebGL,所以IE目前除了安装插件外,是无法运行WebGL的。其他的主流浏览器如Chrome、FireFox、Safari、Opera等,都装上最新的版本就可以了。除了浏览器要装最新的外,还要保证显卡的驱动也是最新的。
装上这些以后,可以打开浏览器,输入下面的网址验证一下浏览器对WebGL的支持情况:http://webglreport.sourceforge.net/。

在正常安装以上浏览器之后还是不能运行WebGL,那你可以强制开启WebGL支持试一试。开启方法如下:
Chrome浏览器
我们需要为Chrome加入一些启动参数,以下具体操作步骤以Windows操作系统为例:找到Chrome浏览器的快捷方式,右键点击快捷方式,选择属性;在目标框内,chrome.exe后面的引号后面,加入以下内容:

--enable-webgl--ignore-gpu-blacklist--allow-file-access-from-files

点击确定后关闭Chrome,然后用此快捷方式启动Chrome浏览器。
几个参数的含义如下:
--enable-webgl的意思是开启WebGL支持;
--ignore-gpu-blacklist的意思是忽略GPU黑名单,也就是说有一些显卡GPU因为过于陈旧等原因,不建议运行WebGL,这个参数可以让浏览器忽略这个黑名单,强制运行WebGL;
--allow-file-access-from-files的意思是允许从本地载入资源,如果你不是WebGL的开发者,不需要开发调试WebGL,只是想要看一下WebGL的Demo,那你可以不添加这个参数。

Firefox浏览器
Firefox的用户请在浏览器的地址栏输入“about:config”,回车,然后在过滤器(filter)中搜索“webgl”,将webgl.force-enabled设置为true;将webgl.disabled设置为false;在过滤器(filter)中搜索“security.fileuri.strict_origin_policy”,将security.fileuri.strict_origin_policy设置为false;然后关闭目前开启的所有Firefox窗口,重新启动Firefox。
前两个设置是强制开启WebGL支持,最后一个security.fileuri.strict_origin_policy的设置是允许从本地载入资源,如果你不是WebGL的开发者,不需要开发调试WebGL,只是想要看一下WebGL的Demo,那你可以不设置此项。

Safari浏览器
在菜单中找到“属性”→“高级”,选中“显示开发菜单”,然后到“开发”菜单,选中“开启WebGL”。

开发步骤

下面的代码只是简单总结一下相关的概念,它来源于参考中的中文教程,涉及较多的3D方面的知识。感兴趣的同学直接可以跳到实用参考中的中文教程中学习,比我这里讲解的要详细和准确的多。凑热闹的同学简单看看就可以了,不用深究每一行代码的含义。


准备工作
这个不用说了,就是在页面上添加一个canvas元素作为渲染的容器。例如:

步骤二:初始化着色器Shaders - initShaders
着色器Shader概念比较简单,说白了就是显卡运算指令。构造3D场景需要进行大量的颜色、位置等等信息的计算,如果这些计算由软件执行的话,速度会很慢。所以把这些运算让显卡去计算,速度就很快;如何去执行这些计算,就是由着色器指定的。着色器代码是用一种叫做GLSL的着色器语言编写的,这个我们不去讲述这个语言了。
着色器可以在html中定义,在代码中使用。当然了你在程序中用一个字符串去定义着色器也是一样的。
下面先看定义的部分:

您可能想查找下面的文章:

  • HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
  • HTML5的WebGL3D档案馆图书可视化管理系统的实现
  • WebGL怎样操作json与echarts图表
  • HTML5 WebGL打印3D机房
  • HTML5 WebGL实现的3D机房示例
  • 怎样用H5的WebGL实现3D虚拟机房的漫游动画
  • 用H5的WebGL如何在同一个界面做出json和echarts图表
  • 基于Babylonjs自制WebGL3D模型编辑器
  • 详细介绍基于HTML5 的WebGL技术构建3D场景的图文代码(一)
  • opengl/webgl 可以部分重绘吗?

相关文章

  • 2018-12-03在HTML5在线预览PDF格式的代码
  • 2018-12-03html5使用canvas实现跟随光标跳动的火焰效果_html5教程技巧
  • 2018-12-03HTML5拖放:Drag和Drop分别指什么?怎么使用的?
  • 2018-12-03深入解析HTML5 内联框架--iFrame
  • 2018-12-03详解HTML5里autofocus自动聚焦属性的使用
  • 2018-12-03HTML5制作表格样式
  • 2018-12-03Vue.js适合制作移动端的Webapp吗?
  • 2017-08-06浅析HTML5的WebSocket与服务器推送事件
  • 2017-08-06详解HTML5通讯录获取指定多个人的信息
  • 2018-12-03想做一款基于HTML5的卡牌游戏,有什么好的引擎推荐么?

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML与CSS简单页面效果实例
    • 移动端浏览器如何自动全屏?
    • 作为一个前端,看到怎样的网页效果,你一定会停下来看看他的源码?
    • 关于HTML 5的足以改变我们未来生活的十项提示
    • 前端页面跳转并取值的实现
    • before :after怎么输出一个小三角形
    • jQuery & Canvas 制作相机快门效果
    • 弹性盒模型-容器属性的理解
    • html5新增标签有哪些?html5新增的标签应用
    • Html5百叶窗效果的示例代码_html5教程技巧

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有