WebGL:读取缓冲区对象的内容?

Posted

技术标签:

【中文标题】WebGL:读取缓冲区对象的内容?【英文标题】:WebGL: Read the contents of a buffer object? 【发布时间】:2012-09-13 01:10:31 【问题描述】:

在其他平台上,我通过将很少访问的每个顶点几何图形和颜色数据仅存储在 GPU 内存中的 VBO 中并使用 glMap 每隔一段时间分段读取和/或修改它来降低内存使用率。

在阅读 OpenGL ES 2 书时,我注意到它在第 118 页上说:

OpenGL 允许应用程序读取顶点缓冲区的内容 存储,但 OpenGL ES 中缺少这些 API 调用。因为没有 在 OpenGL ES 中读取缓冲区数据的机制,这些枚举不再是 有效,因此不受支持。

我在 Google 上搜索了一段时间,发现 glMapBufferOES 的存在(似乎记录不充分)。这仍然有效吗?它是一个普遍支持的扩展吗?有什么办法可以在 WebGL 中使用它吗?如果没有,是否有其他方法可以读取 VBO 的内容,或者我唯一的选择是保留对我自己的 ArrayBuffer 对象(或其他一些非 GPU 存储)的 javascript 引用?

【问题讨论】:

【参考方案1】:

如果一个扩展不在the Khronos WebGL extension repository 中,那么它就不能在 WebGL 中使用。

【讨论】:

以上是关于WebGL:读取缓冲区对象的内容?的主要内容,如果未能解决你的问题,请参考以下文章

读取 WebGLTexture 中的像素(将 WebGL 渲染到纹理)

WebGL - 当我从帧缓冲区读取像素数据时,图标失去透明度

WebGL入门(四十三)-WebGL加载OBJ-MTL三维模型

webgl 缓冲区

WebGl通过缓冲区绘制多个点

WebGL学习系列-使用缓冲区对象画多个点