C++学习(四四三)Android手机支持的opengl特性

 

const GLubyte* name = glGetString(GL_VENDOR); //返回负责当前OpenGL实现厂商的名字
const GLubyte* biaoshifu = glGetString(GL_RENDERER); //返回一个渲染器标识符,通常是个硬件平台
const GLubyte* OpenGLVersion = glGetString(GL_VERSION); //返回当前OpenGL实现的版本号
//const GLubyte* gluVersion = gluGetString(GLU_VERSION); //返回当前GLU工具库版本
const GLubyte* glslVersion = glGetString(GL_SHADING_LANGUAGE_VERSION);

"ARM"
"Mali-G76"
"OpenGL ES 3.2 v1.r18p0-01rel0.eb0c31071d41ebd807505c2a08a74d99"
"OpenGL ES GLSL ES 3.20"

osg::GraphicsContext* gc = _viewer->getCamera()->getGraphicsContext();
unsigned int id = gc->getState()->getContextID();
const osg::GL2Extensions* GL2 = osg::GL2Extensions::Get( id, true );

this = {osg::GLExtensions * | 0x718c6b5c00} 0x000000718c6b5c00
 osg::Referenced = {osg::Referenced}
 contextID = {unsigned int} 0
 glVersion = {float} 3.20000005
 glslLanguageVersion = {float} 3.20000005
 isGlslSupported = {bool} true
 isShaderObjectsSupported = {bool} true
 isVertexShaderSupported = {bool} true
 isFragmentShaderSupported = {bool} true
 isLanguage100Supported = {bool} true
 isGeometryShader4Supported = {bool} true
 areTessellationShadersSupported = {bool} true
 isGpuShader4Supported = {bool} true
 isUniformBufferObjectSupported = {bool} true
 isGetProgramBinarySupported = {bool} false
 isGpuShaderFp64Supported = {bool} false
 isShaderAtomicCountersSupported = {bool} false
 isRectangleSupported = {bool} false
 isCubeMapSupported = {bool} true
 isClipControlSupported = {bool} false
 glDrawBuffers = {void (*)(GLsizei, const GLenum *) | 0x727dc6cec0} (libGLESv2.so`glDrawBuffers)
 glAttachShader = {void (*)(GLuint, GLuint) | 0x727dc6c02c} (libGLESv2.so`glAttachShader)
 glBindAttribLocation = {void (*)(GLuint, GLuint, const GLchar *) | 0x727dc6c044} (libGLESv2.so`glBindAttribLocation)
 glCompileShader = {void (*)(GLuint) | 0x727dc6c1f8} (libGLESv2.so`glCompileShader)
 glCreateProgram = {GLuint (*)() | 0x727dc6c270} (libGLESv2.so`glCreateProgram)
 glCreateShader = {GLuint (*)(GLenum) | 0x727dc6c28c} (libGLESv2.so`glCreateShader)
 glDeleteProgram = {void (*)(GLuint) | 0x727dc6c2f0} (libGLESv2.so`glDeleteProgram)
 glDeleteObjectARB = {void (*)(GLuint) | 0x0} NULL
 glDeleteShader = {void (*)(GLuint) | 0x727dc6c320} (libGLESv2.so`glDeleteShader)
 glDetachShader = {void (*)(GLuint, GLuint) | 0x727dc6c398} (libGLESv2.so`glDetachShader)
 glDisableVertexAttribArray = {void (*)(GLuint) | 0x727dc6c3c8} (libGLESv2.so`glDisableVertexAttribArray)
 glEnableVertexAttribArray = {void (*)(GLuint) | 0x727dc6c428} (libGLESv2.so`glEnableVertexAttribArray)
 glGetActiveAttrib = {void (*)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *) | 0x727dc6c530} (libGLESv2.so`glGetActiveAttrib)
 glGetActiveUniform = {void (*)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *) | 0x727dc6c548} (libGLESv2.so`glGetActiveUniform)
 glGetAttachedShaders = {void (*)(GLuint, GLsizei, GLsizei *, GLuint *) | 0x727dc6c560} (libGLESv2.so`glGetAttachedShaders)
 glGetAttribLocation = {GLint (*)(GLuint, const GLchar *) | 0x727dc6c578} (libGLESv2.so`glGetAttribLocation)
 glGetProgramiv = {void (*)(GLuint, GLenum, GLint *) | 0x727dc6c5e0} (libGLESv2.so`glGetProgramiv)
 glGetObjectParameterivARB = {void (*)(GLuint, GLenum, GLint *) | 0x0} NULL
 glGetProgramInfoLog = {void (*)(GLuint, GLsizei, GLsizei *, GLchar *) | 0x727dc6c5f8} (libGLESv2.so`glGetProgramInfoLog)
 glGetInfoLogARB = {void (*)(GLuint, GLsizei, GLsizei *, GLchar *) | 0x0} NULL
 glGetShaderiv = {void (*)(GLuint, GLenum, GLint *) | 0x727dc6c628} (libGLESv2.so`glGetShaderiv)
 glGetShaderInfoLog = {void (*)(GLuint, GLsizei, GLsizei *, GLchar *) | 0x727dc6c640} (libGLESv2.so`glGetShaderInfoLog)
 glGetShaderSource = {void (*)(GLuint, GLsizei, GLsizei *, GLchar *) | 0x727dc6c670} (libGLESv2.so`glGetShaderSource)
 glGetUniformLocation = {GLint (*)(GLuint, const GLchar *) | 0x727dc6c6e8} (libGLESv2.so`glGetUniformLocation)
 glGetUniformfv = {void (*)(GLuint, GLint, GLfloat *) | 0x727dc6c6b8} (libGLESv2.so`glGetUniformfv)
 glGetUniformiv = {void (*)(GLuint, GLint, GLint *) | 0x727dc6c6d0} (libGLESv2.so`glGetUniformiv)
 glGetVertexAttribdv = {void (*)(GLuint, GLenum, GLdouble *) | 0x0} NULL
 glGetVertexAttribfv = {void (*)(GLuint, GLenum, GLfloat *) | 0x727dc6c704} (libGLESv2.so`glGetVertexAttribfv)
 glGetVertexAttribiv = {void (*)(GLuint, GLenum, GLint *) | 0x727dc6c71c} (libGLESv2.so`glGetVertexAttribiv)
 glGetVertexAttribPointerv = {void (*)(GLuint, GLenum, GLvoid **) | 0x727dc6c734} (libGLESv2.so`glGetVertexAttribPointerv)
 glIsProgram = {GLboolean (*)(GLuint) | 0x727dc6c7b8} (libGLESv2.so`glIsProgram)
 glIsShader = {GLboolean (*)(GLuint) | 0x727dc6c7f0} (libGLESv2.so`glIsShader)
 glLinkProgram = {void (*)(GLuint) | 0x727dc6c840} (libGLESv2.so`glLinkProgram)
 glShaderSource = {void (*)(GLuint, GLsizei, const GLchar **, const GLint *) | 0x727dc6c918} (libGLESv2.so`glShaderSource)
 glUseProgram = {void (*)(GLuint) | 0x727dc6cc18} (libGLESv2.so`glUseProgram)
 glUniform1f = {void (*)(GLint, GLfloat) | 0x727dc6ca50} (libGLESv2.so`glUniform1f)
 glUniform2f = {void (*)(GLint, GLfloat, GLfloat) | 0x727dc6cab0} (libGLESv2.so`glUniform2f)
 glUniform3f = {void (*)(GLint, GLfloat, GLfloat, GLfloat) | 0x727dc6cb10} (libGLESv2.so`glUniform3f)
 glUniform4f = {void (*)(GLint, GLfloat, GLfloat, GLfloat, GLfloat) | 0x727dc6cb70} (libGLESv2.so`glUniform4f)
 glUniform1i = {void (*)(GLint, GLint) | 0x727dc6ca80} (libGLESv2.so`glUniform1i)
 glUniform2i = {void (*)(GLint, GLint, GLint) | 0x727dc6cae0} (libGLESv2.so`glUniform2i)
 glUniform3i = {void (*)(GLint, GLint, GLint, GLint) | 0x727dc6cb40} (libGLESv2.so`glUniform3i)
 glUniform4i = {void (*)(GLint, GLint, GLint, GLint, GLint) | 0x727dc6cba0} (libGLESv2.so`glUniform4i)
 glUniform1fv = {void (*)(GLint, GLsizei, const GLfloat *) | 0x727dc6ca68} (libGLESv2.so`glUniform1fv)
 glUniform2fv = {void (*)(GLint, GLsizei, const GLfloat *) | 0x727dc6cac8} (libGLESv2.so`glUniform2fv)
 glUniform3fv = {void (*)(GLint, GLsizei, const GLfloat *) | 0x727dc6cb28} (libGLESv2.so`glUniform3fv)
 glUniform4fv = {void (*)(GLint, GLsizei, const GLfloat *) | 0x727dc6cb88} (libGLESv2.so`glUniform4fv)
 glUniform1iv = {void (*)(GLint, GLsizei, const GLint *) | 0x727dc6ca98} (libGLESv2.so`glUniform1iv)
 glUniform2iv = {void (*)(GLint, GLsizei, const GLint *) | 0x727dc6caf8} (libGLESv2.so`glUniform2iv)
 glUniform3iv = {void (*)(GLint, GLsizei, const GLint *) | 0x727dc6cb58} (libGLESv2.so`glUniform3iv)
 glUniform4iv = {void (*)(GLint, GLsizei, const GLint *) | 0x727dc6cbb8} (libGLESv2.so`glUniform4iv)
 glUniformMatrix2fv = {void (*)(GLint, GLsizei, GLboolean, const GLfloat *) | 0x727dc6cbd0} (libGLESv2.so`glUniformMatrix2fv)
 glUniformMatrix3fv = {void (*)(GLint, GLsizei, GLboolean, const GLfloat *) | 0x727dc6cbe8} (libGLESv2.so`glUniformMatrix3fv)
 glUniformMatrix4fv = {void (*)(GLint, GLsizei, GLboolean, const GLfloat *) | 0x727dc6cc00} (libGLESv2.so`glUniformMatrix4fv)
 glValidateProgram = {void (*)(GLuint) | 0x727dc6cc30} (libGLESv2.so`glValidateProgram)
 glVertexAttrib1d = {void (*)(GLuint, GLdouble) | 0x0} NULL
 glVertexAttrib1dv = {void (*)(GLuint, const GLdouble *) | 0x0} NULL
 glVertexAttrib1f = {void (*)(GLuint, GLfloat) | 0x727dc6cc48} (libGLESv2.so`glVertexAttrib1f)
 glVertexAttrib1fv = {void (*)(GLuint, const GLfloat *) | 0x727dc6cc60} (libGLESv2.so`glVertexAttrib1fv)
 glVertexAttrib1s = {void (*)(GLuint, GLshort) | 0x0} NULL
 glVertexAttrib1sv = {void (*)(GLuint, const GLshort *) | 0x0} NULL
 glVertexAttrib2d = {void (*)(GLuint, GLdouble, GLdouble) | 0x0} NULL
 glVertexAttrib2dv = {void (*)(GLuint, const GLdouble *) | 0x0} NULL
 glVertexAttrib2f = {void (*)(GLuint, GLfloat, GLfloat) | 0x727dc6cc78} (libGLESv2.so`glVertexAttrib2f)
 glVertexAttrib2fv = {void (*)(GLuint, const GLfloat *) | 0x727dc6cc90} (libGLESv2.so`glVertexAttrib2fv)
 glVertexAttrib2s = {void (*)(GLuint, GLshort, GLshort) | 0x0} NULL
 glVertexAttrib2sv = {void (*)(GLuint, const GLshort *) | 0x0} NULL
 glVertexAttrib3d = {void (*)(GLuint, GLdouble, GLdouble, GLdouble) | 0x0} NULL
 glVertexAttrib3dv = {void (*)(GLuint, const GLdouble *) | 0x0} NULL
 glVertexAttrib3f = {void (*)(GLuint, GLfloat, GLfloat, GLfloat) | 0x727dc6cca8} (libGLESv2.so`glVertexAttrib3f)
 glVertexAttrib3fv = {void (*)(GLuint, const GLfloat *) | 0x727dc6ccc0} (libGLESv2.so`glVertexAttrib3fv)
 glVertexAttrib3s = {void (*)(GLuint, G

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值