Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.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
Android 将打开的gl es扩展插件插入应用程序_Android_Opengl Es_Sony Xperia - Fatal编程技术网

Android 将打开的gl es扩展插件插入应用程序

Android 将打开的gl es扩展插件插入应用程序,android,opengl-es,sony-xperia,Android,Opengl Es,Sony Xperia,我在运行我的游戏时,在我的Xperia Play手机上处理一些兼容性问题,因此我必须找到所有使用的OpenGL ES扩展的引用 在我的应用程序中。这就引出了我的问题:除了通过eglGetProcAddress()函数之外,还有其他方法使用扩展吗 致以最良好的祝愿, Buyuk.答案是肯定的。使用扩展名的正常方式是直接通过名称调用扩展名,该名称将包含以下字符串之一: OES, ARB, IMG, PVR, EXT, AMD, VIV or NV 这些名称在这些头文件中定义: #include &

我在运行我的游戏时,在我的Xperia Play手机上处理一些兼容性问题,因此我必须找到所有使用的OpenGL ES扩展的引用 在我的应用程序中。这就引出了我的问题:除了通过eglGetProcAddress()函数之外,还有其他方法使用扩展吗

致以最良好的祝愿,
Buyuk.

答案是肯定的。使用扩展名的正常方式是直接通过名称调用扩展名,该名称将包含以下字符串之一:

OES, ARB, IMG, PVR, EXT, AMD, VIV or NV
这些名称在这些头文件中定义:

#include <EGL/eglext.h>
#include <GLES2/gl2ext.h>
#包括
#包括
查询返回的名称不同。它们通常如下所示:

GL_和压缩_3DC_纹理 GL_和压缩_ATC_纹理 GLU AMD性能监视器 GL_AMD_程序_二进制_Z400 GL_和tile_渲染 GL_外部_纹理_过滤器_各向异性 GL_外部_纹理_类型_2_10_10_10_版本 德国劳埃德大学外文学院 GL_OES_压缩_ETC1_RGB8_纹理 GL\U OES\U压缩\U调色板\U纹理 GL_OES_深度_纹理 GL_OES_部门24 GL_OES_EGL_图像 GL_OES_EGL_图像_外部 总帐要素索引单元 GL_OES_fbo_render_mipmap GL_OES_碎片_精度_高 GL_OES_get_程序_二进制文件 GL_OES_包装_深度_模板 GL_OES_rgb8_rgba8 GL_OES_标准_衍生品 GL_OES_纹理_3D GL_OES_纹理_浮动 GL\U OES\U纹理\U半浮点数 GL\U OES\U纹理\U半\U浮动\U线性 GL_OES_纹理_npot GL_OES_顶点_半浮点数 GL_OES_顶点_类型_10_10_10_2
GL_NV_fence

不,并非所有扩展都定义了新的api调用,因此并非所有扩展都使用eglGetProcAddress。 好的例子是-这里有新的标记(枚举),但没有新的函数

但是,在没有*gl*ext.h头的情况下编译,在ESSL中跟踪eglGetProcAddress和“#extension”字符串将至少为您提供一些有关所用非核心功能的信息