WebGLBuffer 对象和 OpenGL 缓冲区处理 JavaScript 和 C++ 之间的互操作
WebGLBuffer object and OpenGL buffer handle interop between JavaScript and C++
我想使用 spector.js metadata API to simplify debugging of a WebGL application compiled from C++ using emscripten. Spector.js API expects JavaScript WebGLBuffer 通过 WebGL API 创建的对象。问题是如何从使用原始 OpenGL 句柄运行的 C++ 端获取它们。
我看到两个选项:
- 通过 emscripten C++<->JS 为 js 提供 gl 缓冲区句柄 API 并以某种方式从它们创建 WebGL 对象
- 在 js 端创建 WebGLBufers 并通过 C++<->JS 为 C++ 提供句柄 API
第一个选项的问题是我找不到从原始 OpenGL 缓冲区句柄创建 WebGLBuffer 的方法。
第二个选项的问题是我没有看到任何方法从 js WebGLBuffer 对象获取原始 gl 缓冲区句柄以将其转发给 C++ 代码。
也许还有其他选择?
扩充 emscripten 库。就在此处跟踪 WebGLObjects
例如
javascriptWebGLBuffer = $GL.buffers[openGLBufferId];
openglBufferId = $GL.buffers.indexOf(javascriptWebGLBuffer);
另见 _glGenObject
and its usage 如何为 JavaScript 和 C++
生成新的 WebGLBuffer
您可以在该文件中插入 spector。
你可以--js-library path-to-file
使用你修改后的库来使用
我想使用 spector.js metadata API to simplify debugging of a WebGL application compiled from C++ using emscripten. Spector.js API expects JavaScript WebGLBuffer 通过 WebGL API 创建的对象。问题是如何从使用原始 OpenGL 句柄运行的 C++ 端获取它们。 我看到两个选项:
- 通过 emscripten C++<->JS 为 js 提供 gl 缓冲区句柄 API 并以某种方式从它们创建 WebGL 对象
- 在 js 端创建 WebGLBufers 并通过 C++<->JS 为 C++ 提供句柄 API
第一个选项的问题是我找不到从原始 OpenGL 缓冲区句柄创建 WebGLBuffer 的方法。 第二个选项的问题是我没有看到任何方法从 js WebGLBuffer 对象获取原始 gl 缓冲区句柄以将其转发给 C++ 代码。
也许还有其他选择?
扩充 emscripten 库。就在此处跟踪 WebGLObjects
例如
javascriptWebGLBuffer = $GL.buffers[openGLBufferId];
openglBufferId = $GL.buffers.indexOf(javascriptWebGLBuffer);
另见 _glGenObject
and its usage 如何为 JavaScript 和 C++
您可以在该文件中插入 spector。
你可以--js-library path-to-file
使用你修改后的库来使用