《WebGL入门指南》——第1章,第1.1节WebGL——一个技术定义

简介:

本节书摘来自异步社区《WebGL入门指南》一书中的第1章,第1.1节WebGL——一个技术定义,作者 【美】Tony Parisi,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.1 WebGL——一个技术定义
WebGL入门指南
WebGL 标准是由科纳斯组织(Khronos Group)开发和维护的,该组织还是管理着 OpenGL、COLLADA等其他你也许早有耳闻的规范的标准组织。以下是科纳斯组织的网站上对WebGL的官方描述:

WebGL是免授权费的,跨平台的应用程序接口API,它将OpenGL ES 2.0作为在HTML网页内的3D绘图环境,作为低级别文档对象模型接口开放。它使用OpenGL渲染语言GLSL ES,并可被整洁地与其他3D内容上层或下层的网页内容捆绑。它是使用JavaScript编程开发语言开发适合动态3D网页应用的理想工具,并已被主流互联网浏览器集成。

这段定义中包含了好几个核心概念,下面让我们逐条地详细铺开来看。

WebGL是一套API
WebGL是一套JavaScript编程接口,并且JavaScript是WebGL的唯一入口,所以也并不需要任何特殊的HTML标签。WebGL中的3D渲染与使用Canvas元素的2D绘画类似,所有的功能都通过JavaScript API调用。事实上,要想调用WebGL接口,只需要使用已有的Canvas元素,并设置一个特殊的绘制上下文即可。
WebGL是基于OpenGL ES 2.0的
OpenGL ES是历史悠久的3D渲染标准OpenGL的精简版本。“ES”是指“Embedded Systems”,即“嵌入式系统”,也就是说,它是为小型的计算机设备量身定制的,其中最典型的就是智能手机和平板电脑。目前iPhone、iPad、Android手机和平板电脑都使用了OpenGL ES来进行3D渲染。WebGL标准的设计者认为,沿着OpenGL ES的足迹前行,打造一个协调一致、跨平台、跨浏览器的3D Web API会更加切实可行。
WebGL和其他网络内容可以整合在一起
WebGL内容可以放置于其他页面内容之上或者之下。3D(canvas)画布元素可以作为页面的一部分,也可以充满整个页面。并且可以放置于

标签中,使用z轴指定堆叠顺序。也就是说,你可以用WebGL来开发自己的3D图形,但是其他的元素都依然可以继续用传统的HTML来制作。浏览器会将包括3D图形在内的页面上的所有图形内容无缝地整合在一起,提供给用户。
WebGL是用于搭建动态Web应用的
WebGL在设计之初就是为Web交付而生的。尽管脱胎于OpenGL ES,但却继承了那些能够更好地和Web浏览器整合、与JavaScript语言协同工作的特性,因此WebGL对于Web交付是非常友好的。
WebGL是跨平台的
WebGL可以运行于任何操作系统,以及从手机、平板电脑到桌面电脑的任何设备。
WebGL是完全免费的
和所有开放的Web规范一样,WebGL是免费使用的。没有人会因为WebGL而向你征收版权费用。
许多浏览器厂商,包括Chrome、Firefox、Safari和Opera,都做出了显著贡献,包括对WebGL的支持以及大量的开发资源,这些浏览器团队中的一些工程师也是WebGL规范工作组里的核心成员。WebGL规范流程是对所有科纳斯组织的成员开放的,同时他们建立了一个公开的邮件列表。你可以在附录A中找到邮件列表的信息和其他关于WebGL规范的资源。
相关文章
|
JavaScript IDE 前端开发
如何在大型代码仓库中删掉废弃的文件和 exports?
本文是我最近在公司内部写的废弃代码删除工具的一篇思考总结。
|
3月前
|
机器学习/深度学习 人工智能 自动驾驶
AI Agent多模态融合策略研究与实证应用
本文从多模态信息融合的理论基础出发,构建了一个结合图像与文本的AI Agent模型,并通过PyTorch代码实现了完整的图文问答流程。未来,多模态智能体将在医疗、自动驾驶、虚拟助手等领域展现巨大潜力。模型优化的核心是提升不同模态的协同理解与推理能力,从而打造真正“理解世界”的AI Agent。
AI Agent多模态融合策略研究与实证应用
|
4月前
|
JSON Cloud Native Go
开箱即用的GO后台管理系统 Kratos Admin - 后端权限控制
后端的权限控制主要分为两种: API权限控制; 数据权限控制。 在本文,我们不讨论数据权限的控制,主要讲API的权限控制。
291 0
|
负载均衡 网络协议 算法
ensp中路由重分发
路由器的路由重分发功能允许不同路由协议间共享路由信息,如将RIP路由注入到OSPF或反之。实验涉及三台路由器(AR1、AR2和AR3),分别配置RIP和OSPF。AR1作为连接RIP和OSPF网络的桥梁,通过`import-route`命令在各自进程中导入对方协议的路由,实现路由信息互通。配置成功后,各路由器的路由表显示了来自不同协议的路由条目,证明了路由重分发的有效性。扩展知识提到了RIP(基于距离矢量)和OSPF(基于链路状态)两种路由协议的工作原理。
294 1
ensp中路由重分发
|
SQL 分布式计算 资源调度
Apache Doris 整合 FLINK CDC + Iceberg 构建实时湖仓一体的联邦查询
这篇教程将展示如何使用 Flink CDC + Iceberg + Doris 构建实时湖仓一体的联邦查询分析,Doris 1.1版本提供了Iceberg的支持,本文主要展示Doris和Iceberg怎么使用,同时本教程整个环境是都基于伪分布式环境搭建,大家按照步骤可以一步步完成。完整体验整个搭建操作的过程。
3017 1
|
存储 编译器 开发工具
《QT从基础到进阶·八》QDockWidget使用
《QT从基础到进阶·八》QDockWidget使用
403 0
|
PyTorch 算法框架/工具
【PyTorch简明教程】torch.Tensor()与torch.tensor()的区别
【PyTorch简明教程】torch.Tensor()与torch.tensor()的区别
271 0
|
机器学习/深度学习 人工智能 算法
腾讯AI Lab公布首项研究:提出独特神经网络实现实时视频风格变换
风格变换一直是机器学习领域内的一项重要任务,很多研究机构和研究者都在努力打造速度更快、计算成本更低的风格变换机器学习系统,比如《怎么让你的照片带上艺术大师风格?李飞飞团队开源快速神经网络风格迁移代码》、《谷歌增强型风格迁移新算法:实现基于单个网络的多种风格实时迁移》。如今新成立的腾讯 AI Lab 也加入了此行列,在此文章中机器之心对腾讯 AI Lab 的视频风格变换的研究进行了独家报道。
446 0
腾讯AI Lab公布首项研究:提出独特神经网络实现实时视频风格变换