https://www.khronos.org/registry/webgl/specs/1.0/ 原文地址
3 WebGL Resources
OpenGL manages several types of resources as part of its state. These are identified by integer object names and are obtained from OpenGL by various creation calls. In contrast WebGL represents these resources as DOM objects. Each object is derived from the WebGLObject interface. Currently supported resources are: textures, buffers (i.e., VBOs), framebuffers, renderbuffers, shaders and programs. The WebGLRenderingContext interface has a method to create a WebGLObject subclass for each type. Data from the underlying graphics library are stored in these objects and are fully managed by them. The resources represented by these objects are guaranteed to exist as long as the object exists. Furthermore, the DOM object is guaranteed to exist as long as the author has an explicit valid reference to it or as long as it is bound by the underlying graphics library. When none of these conditions exist the user agent can, at any point, delete the object using the equivalent of a delete call (e.g., deleteTexture). If authors wish to control when the underlying resource is released then the delete call can be made explicitly.
3 WebGL Resources
OpenGL将多种资源作为它的状态来管理,这些是确定的整数对象名称和从OpenGL中获得各种创建调用。与之相反,WebGL用DOM对象来表现这些资源。每个对象继承WebGLObject接口。目前支持的资源有:纹理、缓冲区、框架缓冲区、渲染缓冲区、着色器、程序集。
WebGLRenderingContext接口具有一个为不同类创建一个WebGLObject父类的方法,从底层图形库的数据存储在这些对象中,而且有这些对象进行全权管理。只有这些对象的存在才能保证表现资源的对象存在。此外,DOM对象是保证存在只要作者有一个明确的有效的对它的引用或者只要是受底层图形库。如果没有这些条件存在,用户代理可以在任何时刻删除对象用,也相当于删除一个调用。如果作者想要在底层的资源被释放的时候控制对象,那么调用可以显式地删除了。
分享到:
相关推荐
标题提到的问题——"解决webgl输入框无法输入中文插件",是WebGL应用中常见的一个挑战。通常,当用户尝试在WebGL场景中使用HTML输入框输入中文时,可能会遇到输入困难或无法输入的情况。这主要是因为WebGL与HTML元素...
WebGL(Web Graphics Library)是一种JavaScript API,用于在任何兼容的Web浏览器中渲染交互式的2D和3D图形,无需...这本书是学习WebGL的宝贵资源,无论你是对游戏开发、数据可视化还是增强现实感兴趣,都能从中受益。
在“HiWebGL-《拥抱 3D 网络世界 —— WebGL 的现状和未来》”中,可能包含以下内容: 1. **上下文创建**:在JavaScript中,我们使用`canvas.getContext('webgl')`来获取WebGL渲染上下文,这是开始所有WebGL操作的...
- **资源优化**:WebGL对内存和CPU有严格的限制,因此优化资源(如纹理、模型和音频)至关重要。使用Asset Bundle进行动态加载,可以减少初始加载时间。 - **性能调试**:Unity WebGL 提供了浏览器控制台日志输出,...
- 本书最后章节提供了一个完整的实战项目——开发一个基于WebGL的赛车游戏应用。 - 该项目涵盖了从设计到实现的全过程,包括3D模型的选择、场景布局的设计、物理引擎的集成以及用户界面的开发等方面。 - 通过实际...
##### WebGL——技术定义 WebGL是一种用于在Web浏览器中绘制3D图形的标准API(应用程序编程接口)。它基于OpenGL ES 2.0标准的一个子集,并且被设计成可以直接在HTML5的canvas元素上运行,无需任何插件或额外的软件...
这个“WEBGL.rar_webgl”压缩包包含的资源显然是为了帮助那些有一定编程基础但对3D图形开发不熟悉的开发者快速入门WebGL技术。 WebGL的核心在于它允许开发者直接在浏览器中绘制复杂的3D模型,无需任何插件。通过...
本篇将详细介绍四个与WebGL相关的函数库——cuon-matrix、cuon-utils、webgl-debug以及webgl-utils,它们是WebGL开发中的常用工具,极大地简化了WebGL编程。 1. cuon-matrix: cuon-matrix是一个专门处理矩阵运算...
3. **着色器**:WebGL使用两种类型的着色器——顶点着色器和片段着色器。顶点着色器处理顶点数据,而片段着色器决定像素的颜色。着色器语言GLSL用于编写这些程序。 4. **GPU编程**:WebGL的本质是GPU编程,这意味着...
给大家分享一套课程——Three.js可视化企业实战WEBGL课,2024年1月最新升级48章,附源码+课件等资料下载,课程不定期更新,包更新。
在"WebGL_SDK_2016_R2.zip"这个压缩包中,你将找到一系列的学习资源,帮助初学者快速掌握WebGL的基本概念和应用。以下是其中可能包含的知识点和详细解释: 1. **基本概念**:WebGL基于GPU加速,允许开发者直接在...
在本项目"html5_3d_webgl_多个旋转地球materials"中,我们关注的是HTML5的一个强大特性——WebGL,这是一种用于在浏览器中实现3D图形的API。WebGL基于OpenGL标准,允许开发者在无需任何插件的情况下在网页上呈现复杂...
在当今的互联网领域,随着用户对个性化和交互性的需求日益增长,WebGL作为一种可以在网页上展现三维立体场景的编程技术,正成为实验教学的重要内容。WebGL技术将JavaScript编程语言与OpenGLES 2.0图形API结合,提供...
2. **着色器**:WebGL使用两种类型的着色器——顶点着色器和片段着色器,它们分别处理3D几何体的属性和像素颜色。 3. **模型视图投影**:将3D对象转换到2D屏幕空间,需要进行模型变换、视图变换和投影变换。 4. **...
WebGL的核心是其着色语言——GLSL(OpenGL Shading Language)。开发者可以编写顶点着色器和片段着色器,控制模型的几何形状和颜色表现。顶点着色器处理几何体的顶点,改变其位置、大小和形状;片段着色器则决定每个...
分享课程——WebGL可视化3D绘图框架:Three.js 零基础上手实战,附软件+PPT+代码+文档资料下载。 本课程主要的功效就是让你学习完本教程后,能够写出在浏览器上流畅运行的3D程序,包括但不限于:大数据可视化,360...
这个"WebGL-Demo"项目显然是一个教学资源,通过PPT和实际的代码示例来帮助学习者理解和掌握WebGL的基本概念和应用。 WebGL的核心在于其基于OpenGL ES 2.0规范,这使得它能够利用硬件加速的能力,为网页带来强大的...
给大家分享一套three.js课程——企业实战WEBGL视频课程
《UMP Pro Win Mac Linux WebGL 2.0.3——跨平台视频播放器解析》 UMP Pro,全称为Universal Media Player Professional,是一款强大的跨平台视频播放器,旨在为用户提供在不同操作系统上流畅、高质量的视频播放...
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++...