Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 是否从Asm.js/emscripten启用WebGL扩展?_C++_Webgl_Emscripten_Asm.js - Fatal编程技术网

C++ 是否从Asm.js/emscripten启用WebGL扩展?

C++ 是否从Asm.js/emscripten启用WebGL扩展?,c++,webgl,emscripten,asm.js,C++,Webgl,Emscripten,Asm.js,如何从asm.js/emscripten启用WebGL扩展? 我想运行与javascript代码“var float\u texture\u ext=gl.getExtension('OES\u texture\u float')”等价的代码我当然可以从ASM_JS()宏中执行哪些操作,但我不知道全局gl-对象的名称是什么 我会先说,你不应该像这样使用Emscripten。我个人会使用GLFW3和GLEW来管理窗口和扩展。当使用emcc或em++(emscripten编译器)时,他们会将窗口调用

如何从asm.js/emscripten启用WebGL扩展? 我想运行与javascript代码“var float\u texture\u ext=gl.getExtension('OES\u texture\u float')”等价的代码我当然可以从
ASM_JS()
宏中执行哪些操作,但我不知道全局gl-对象的名称是什么


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

但现在我们来看看答案。如果您对使用GLFW3不感兴趣,则必须使用特定的Emscripten方法。没有任何全局“gl对象”

如果希望启用所有扩展,可以使用以下选项:

默认情况下,EM_BOOL启用扩展

  • 如果为“true”,则所有GLES2兼容的非性能都会影响WebGL 测试完成后,将自动为您启用扩展 已创建上下文

  • 如果为“false”,则不启用扩展 默认情况下,您需要手动调用 “emscripten_webgl_enable_extension()”以启用每个扩展 你想用的。默认值:“true”

如果希望启用特定扩展,可以使用以下选项:

EMSCRIPTEN\u WEBGL\u CONTEXT\u HANDLE EMSCRIPTEN\u WEBGL\u get\u current\u CONTEXT()

返回当前活动的WebGL呈现上下文,如果没有,则返回0 上下文是活动的。在没有 活动呈现上下文未定义,可能引发JavaScript错误 例外

返回:

  • 当前活动的WebGL呈现上下文,或

  • 如果没有活动的上下文,则为0

返回类型:“EMSCRIPTEN\u WEBGL\u CONTEXT\u HANDLE”

要获取WebGL上下文句柄并将其传递到以下方法:

EM\u BOOL emscripten\u webgl\u enable\u扩展(emscripten\u webgl\u CONTEXT\u HANDLE CONTEXT,const char*扩展)

在给定上下文上启用给定扩展

参数:

  • 上下文(EMSCRIPTEN\u WEBGL\u context\u HANDLE)——WEBGL 要在其上启用扩展的上下文

  • 扩展名(*const char**)——标识WebGL扩展名的字符串。例如“OES_纹理_浮动”

返回:

  • 如果上下文支持给定的扩展,则EM_TRUE,并且

  • 如果扩展不可用,则EM_FALSE

返回类型:“EM_BOOL”

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


此外,我希望不使用-FULL-ES2作为glDrawArray仿真进行编译,我对此不感兴趣。