如何从 asm.js/emscripten 启用 WebGL 扩展?
我想运行与 'var float_texture_ext = gl.getExtension('OES_texture_float');' 等效的 javascript 代码,当然我可以从 ASM_JS() 宏执行,但我不知道全局 gl 对象的名称是什么?

https://developer.mozilla.org/en-US/docs/Web/WebGL/Using_Extensions

最佳答案

我先说你不应该像这样使用 Emscripten。就个人而言,我会使用 GLFW3 和 GLEW 来管理窗口和扩展。当使用 emcc 或 em++(emscripten 编译器)时,他们会将窗口调用更改为 webgl 上下文创建,而其他内容则不然。

但现在来回答。如果您对使用 GLFW3 不感兴趣,您将不得不使用特定的 Emscripten 方法。没有任何全局“gl 对象”。

如果您想启用所有扩展,您可以使用以下命令:



如果您想启用特定扩展,您可以使用以下内容:



为了获取 WebGL 上下文句柄并将其传递给以下方法:



您需要的所有信息都在这里:

http://kripken.github.io/emscripten-site/docs/api_reference/html5.h.html#html5-h

关于c++ - 从 Asm.js/emscripten 启用 WebGL 扩展?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26736126/

10-11 19:37