QGLFunctions Class

The QGLFunctions class provides cross-platform access to the OpenGL /ES 2.0 API. 更多...

头: #include <QGLFunctions>
Since: Qt 4.8

公共类型

enum OpenGLFeature { Multitexture, Shaders, Buffers, Framebuffers, ..., NPOTTextures }
flags OpenGLFeatures

公共函数

QGLFunctions ()
QGLFunctions (const QGLContext * context )
~QGLFunctions ()
void glActiveTexture (GLenum texture )
void glAttachShader (GLuint program , GLuint shader )
void glBindAttribLocation (GLuint program , GLuint index , const char * name )
void glBindBuffer (GLenum target , GLuint buffer )
void glBindFramebuffer (GLenum target , GLuint framebuffer )
void glBindRenderbuffer (GLenum target , GLuint renderbuffer )
void glBlendColor (GLclampf red , GLclampf green , GLclampf blue , GLclampf alpha )
void glBlendEquation (GLenum mode )
void glBlendEquationSeparate (GLenum modeRGB , GLenum modeAlpha )
void glBlendFuncSeparate (GLenum srcRGB , GLenum dstRGB , GLenum srcAlpha , GLenum dstAlpha )
void glBufferData (GLenum target , qgl_GLsizeiptr size , const void * data , GLenum usage )
void glBufferSubData (GLenum target , qgl_GLintptr offset , qgl_GLsizeiptr size , const void * data )
GLenum glCheckFramebufferStatus (GLenum target )
void glClearDepthf (GLclampf depth )
void glCompileShader (GLuint shader )
void glCompressedTexImage2D (GLenum target , GLint level , GLenum internalformat , GLsizei width , GLsizei height , GLint border , GLsizei imageSize , const void * data )
void glCompressedTexSubImage2D (GLenum target , GLint level , GLint xoffset , GLint yoffset , GLsizei width , GLsizei height , GLenum format , GLsizei imageSize , const void * data )
GLuint glCreateProgram ()
GLuint glCreateShader (GLenum type )
void glDeleteBuffers (GLsizei n , const GLuint * buffers )
void glDeleteFramebuffers (GLsizei n , const GLuint * framebuffers )
void glDeleteProgram (GLuint program )
void glDeleteRenderbuffers (GLsizei n , const GLuint * renderbuffers )
void glDeleteShader (GLuint shader )
void glDepthRangef (GLclampf zNear , GLclampf zFar )
void glDetachShader (GLuint program , GLuint shader )
void glDisableVertexAttribArray (GLuint index )
void glEnableVertexAttribArray (GLuint index )
void glFramebufferRenderbuffer (GLenum target , GLenum attachment , GLenum renderbuffertarget , GLuint renderbuffer )
void glFramebufferTexture2D (GLenum target , GLenum attachment , GLenum textarget , GLuint texture , GLint level )
void glGenBuffers (GLsizei n , GLuint * buffers )
void glGenFramebuffers (GLsizei n , GLuint * framebuffers )
void glGenRenderbuffers (GLsizei n , GLuint * renderbuffers )
void glGenerateMipmap (GLenum target )
void glGetActiveAttrib (GLuint program , GLuint index , GLsizei bufsize , GLsizei * length , GLint * size , GLenum * type , char * name )
void glGetActiveUniform (GLuint program , GLuint index , GLsizei bufsize , GLsizei * length , GLint * size , GLenum * type , char * name )
void glGetAttachedShaders (GLuint program , GLsizei maxcount , GLsizei * count , GLuint * shaders )
int glGetAttribLocation (GLuint program , const char * name )
void glGetBufferParameteriv (GLenum target , GLenum pname , GLint * params )
void glGetFramebufferAttachmentParameteriv (GLenum target , GLenum attachment , GLenum pname , GLint * params )
void glGetProgramInfoLog (GLuint program , GLsizei bufsize , GLsizei * length , char * infolog )
void glGetProgramiv (GLuint program , GLenum pname , GLint * params )
void glGetRenderbufferParameteriv (GLenum target , GLenum pname , GLint * params )
void glGetShaderInfoLog (GLuint shader , GLsizei bufsize , GLsizei * length , char * infolog )
void glGetShaderPrecisionFormat (GLenum shadertype , GLenum precisiontype , GLint * range , GLint * precision )
void glGetShaderSource (GLuint shader , GLsizei bufsize , GLsizei * length , char * source )
void glGetShaderiv (GLuint shader , GLenum pname , GLint * params )
int glGetUniformLocation (GLuint program , const char * name )
void glGetUniformfv (GLuint program , GLint location , GLfloat * params )
void glGetUniformiv (GLuint program , GLint location , GLint * params )
void glGetVertexAttribPointerv (GLuint index , GLenum pname , void ** pointer )
void glGetVertexAttribfv (GLuint index , GLenum pname , GLfloat * params )
void glGetVertexAttribiv (GLuint index , GLenum pname , GLint * params )
GLboolean glIsBuffer (GLuint buffer )
GLboolean glIsFramebuffer (GLuint framebuffer )
GLboolean glIsProgram (GLuint program )
GLboolean glIsRenderbuffer (GLuint renderbuffer )
GLboolean glIsShader (GLuint shader )
void glLinkProgram (GLuint program )
void glReleaseShaderCompiler ()
void glRenderbufferStorage (GLenum target , GLenum internalformat , GLsizei width , GLsizei height )
void glSampleCoverage (GLclampf value , GLboolean invert )
void glShaderBinary (GLint n , const GLuint * shaders , GLenum binaryformat , const void * binary , GLint length )
void glShaderSource (GLuint shader , GLsizei count , const char ** string , const GLint * length )
void glStencilFuncSeparate (GLenum face , GLenum func , GLint ref , GLuint mask )
void glStencilMaskSeparate (GLenum face , GLuint mask )
void glStencilOpSeparate (GLenum face , GLenum fail , GLenum zfail , GLenum zpass )
void glUniform1f (GLint location , GLfloat x )
void glUniform1fv (GLint location , GLsizei count , const GLfloat * v )
void glUniform1i (GLint location , GLint x )
void glUniform1iv (GLint location , GLsizei count , const GLint * v )
void glUniform2f (GLint location , GLfloat x , GLfloat y )
void glUniform2fv (GLint location , GLsizei count , const GLfloat * v )
void glUniform2i (GLint location , GLint x , GLint y )
void glUniform2iv (GLint location , GLsizei count , const GLint * v )
void glUniform3f (GLint location , GLfloat x , GLfloat y , GLfloat z )
void glUniform3fv (GLint location , GLsizei count , const GLfloat * v )
void glUniform3i (GLint location , GLint x , GLint y , GLint z )
void glUniform3iv (GLint location , GLsizei count , const GLint * v )
void glUniform4f (GLint location , GLfloat x , GLfloat y , GLfloat z , GLfloat w )
void glUniform4fv (GLint location , GLsizei count , const GLfloat * v )
void glUniform4i (GLint location , GLint x , GLint y , GLint z , GLint w )
void glUniform4iv (GLint location , GLsizei count , const GLint * v )
void glUniformMatrix2fv (GLint location , GLsizei count , GLboolean transpose , const GLfloat * value )
void glUniformMatrix3fv (GLint location , GLsizei count , GLboolean transpose , const GLfloat * value )
void glUniformMatrix4fv (GLint location , GLsizei count , GLboolean transpose , const GLfloat * value )
void glUseProgram (GLuint program )
void glValidateProgram (GLuint program )
void glVertexAttrib1f (GLuint indx , GLfloat x )
void glVertexAttrib1fv (GLuint indx , const GLfloat * )
void glVertexAttrib2f (GLuint indx , GLfloat x , GLfloat y )
void glVertexAttrib2fv (GLuint indx , const GLfloat * )
void glVertexAttrib3f (GLuint indx , GLfloat x , GLfloat y , GLfloat z )
void glVertexAttrib3fv (GLuint indx , const GLfloat * )
void glVertexAttrib4f (GLuint indx , GLfloat x , GLfloat y , GLfloat z , GLfloat w )
void glVertexAttrib4fv (GLuint indx , const GLfloat * )
void glVertexAttribPointer (GLuint indx , GLint size , GLenum type , GLboolean normalized , GLsizei stride , const void * ptr )
bool hasOpenGLFeature (QGLFunctions::OpenGLFeature feature ) const
void initializeGLFunctions (const QGLContext * context = 0)
QGLFunctions::OpenGLFeatures openGLFeatures () const

详细描述

The QGLFunctions class provides cross-platform access to the OpenGL /ES 2.0 API.

OpenGL /ES 2.0 defines a subset of the OpenGL specification that is common across many desktop and embedded OpenGL implementations. However, it can be difficult to use the functions from that subset because they need to be resolved manually on desktop systems.

QGLFunctions provides a guaranteed API that is available on all OpenGL systems and takes care of function resolution on systems that need it. The recommended way to use QGLFunctions is by direct inheritance:

class MyGLWidget : public QGLWidget, protected QGLFunctions
{
    Q_OBJECT
public:
    MyGLWidget(QWidget *parent = 0) : QGLWidget(parent) {}
protected:
    void initializeGL();
    void paintGL();
};
void MyGLWidget::initializeGL()
{
    initializeGLFunctions();
}
					

The paintGL() function can then use any of the OpenGL /ES 2.0 functions without explicit resolution, such as glActiveTexture () in the following example:

void MyGLWidget::paintGL()
{
    glActiveTexture(GL_TEXTURE1);
    glBindTexture(GL_TEXTURE_2D, textureId);
    ...
}
					

QGLFunctions can also be used directly for ad-hoc invocation of OpenGL /ES 2.0 functions on all platforms:

QGLFunctions glFuncs(QGLContext::currentContext());
glFuncs.glActiveTexture(GL_TEXTURE1);
					

QGLFunctions provides wrappers for all OpenGL /ES 2.0 functions, except those like glDrawArrays() , glViewport() ,和 glBindTexture() that don't have portability issues.

Including the header for QGLFunctions will also define all of the OpenGL /ES 2.0 macro constants that are not already defined by the system's OpenGL headers, such as GL_TEXTURE1 above.

The hasOpenGLFeature () 和 openGLFeatures () functions can be used to determine if the OpenGL implementation has a major OpenGL /ES 2.0 feature. For example, the following checks if non power of two textures are available:

QGLFunctions funcs(QGLContext::currentContext());
bool npot = funcs.hasOpenGLFeature(QGLFunctions::NPOTTextures);
					

成员类型文档编制

enum QGLFunctions:: OpenGLFeature
flags QGLFunctions:: OpenGLFeatures

This enum defines OpenGL /ES 2.0 features that may be optional on other platforms.

常量 描述
QGLFunctions::Multitexture 0x0001 glActiveTexture () function is available.
QGLFunctions::Shaders 0x0002 Shader functions are available.
QGLFunctions::Buffers 0x0004 Vertex and index buffer functions are available.
QGLFunctions::Framebuffers 0x0008 Framebuffer object functions are available.
QGLFunctions::BlendColor 0x0010 glBlendColor () is available.
QGLFunctions::BlendEquation 0x0020 glBlendEquation () is available.
QGLFunctions::BlendEquationSeparate 0x0040 glBlendEquationSeparate () is available.
QGLFunctions::BlendFuncSeparate 0x0080 glBlendFuncSeparate () is available.
QGLFunctions::BlendSubtract 0x0100 Blend subtract mode is available.
QGLFunctions::CompressedTextures 0x0200 Compressed texture functions are available.
QGLFunctions::Multisample 0x0400 glSampleCoverage () function is available.
QGLFunctions::StencilSeparate 0x0800 Separate stencil functions are available.
QGLFunctions::NPOTTextures 0x1000 Non power of two textures are available.

The OpenGLFeatures type is a typedef for QFlags <OpenGLFeature>. It stores an OR combination of OpenGLFeature values.

成员函数文档编制

QGLFunctions:: QGLFunctions ()

Constructs a default function resolver. The resolver cannot be used until initializeGLFunctions () is called to specify the context.

另请参阅 initializeGLFunctions ().

QGLFunctions:: QGLFunctions (const QGLContext * context )

Constructs a function resolver for context 。若 context is null, then the resolver will be created for the current QGLContext .

An object constructed in this way can only be used with context and other contexts that share with it. Use initializeGLFunctions () to change the object's context association.

另请参阅 initializeGLFunctions ().

QGLFunctions:: ~QGLFunctions ()

Destroys this function resolver.

void QGLFunctions:: glActiveTexture ( GLenum texture )

Convenience function that calls glActiveTexture( texture ).

更多信息,见 OpenGL /ES 2.0 documentation for glActiveTexture() .

void QGLFunctions:: glAttachShader ( GLuint program , GLuint shader )

Convenience function that calls glAttachShader( program , shader ).

更多信息,见 OpenGL /ES 2.0 documentation for glAttachShader() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glBindAttribLocation ( GLuint program , GLuint index , const char * name )

Convenience function that calls glBindAttribLocation( program , index , name ).

更多信息,见 OpenGL /ES 2.0 documentation for glBindAttribLocation() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glBindBuffer ( GLenum target , GLuint buffer )

Convenience function that calls glBindBuffer( target , buffer ).

更多信息,见 OpenGL /ES 2.0 documentation for glBindBuffer() .

void QGLFunctions:: glBindFramebuffer ( GLenum target , GLuint framebuffer )

Convenience function that calls glBindFramebuffer( target , framebuffer ).

更多信息,见 OpenGL /ES 2.0 documentation for glBindFramebuffer() .

void QGLFunctions:: glBindRenderbuffer ( GLenum target , GLuint renderbuffer )

Convenience function that calls glBindRenderbuffer( target , renderbuffer ).

更多信息,见 OpenGL /ES 2.0 documentation for glBindRenderbuffer() .

void QGLFunctions:: glBlendColor ( GLclampf red , GLclampf green , GLclampf blue , GLclampf alpha )

Convenience function that calls glBlendColor( red , green , blue , alpha ).

更多信息,见 OpenGL /ES 2.0 documentation for glBlendColor() .

void QGLFunctions:: glBlendEquation ( GLenum mode )

Convenience function that calls glBlendEquation( mode ).

更多信息,见 OpenGL /ES 2.0 documentation for glBlendEquation() .

void QGLFunctions:: glBlendEquationSeparate ( GLenum modeRGB , GLenum modeAlpha )

Convenience function that calls glBlendEquationSeparate( modeRGB , modeAlpha ).

更多信息,见 OpenGL /ES 2.0 documentation for glBlendEquationSeparate() .

void QGLFunctions:: glBlendFuncSeparate ( GLenum srcRGB , GLenum dstRGB , GLenum srcAlpha , GLenum dstAlpha )

Convenience function that calls glBlendFuncSeparate( srcRGB , dstRGB , srcAlpha , dstAlpha ).

更多信息,见 OpenGL /ES 2.0 documentation for glBlendFuncSeparate() .

void QGLFunctions:: glBufferData ( GLenum target , qgl_GLsizeiptr size , const void * data , GLenum usage )

Convenience function that calls glBufferData( target , size , data , usage ).

更多信息,见 OpenGL /ES 2.0 documentation for glBufferData() .

void QGLFunctions:: glBufferSubData ( GLenum target , qgl_GLintptr offset , qgl_GLsizeiptr size , const void * data )

Convenience function that calls glBufferSubData( target , offset , size , data ).

更多信息,见 OpenGL /ES 2.0 documentation for glBufferSubData() .

GLenum QGLFunctions:: glCheckFramebufferStatus ( GLenum target )

Convenience function that calls glCheckFramebufferStatus( target ).

更多信息,见 OpenGL /ES 2.0 documentation for glCheckFramebufferStatus() .

void QGLFunctions:: glClearDepthf ( GLclampf depth )

Convenience function that calls glClearDepth( depth ) on desktop OpenGL systems and glClearDepthf( depth ) on embedded OpenGL /ES systems.

更多信息,见 OpenGL /ES 2.0 documentation for glClearDepthf() .

void QGLFunctions:: glCompileShader ( GLuint shader )

Convenience function that calls glCompileShader( shader ).

更多信息,见 OpenGL /ES 2.0 documentation for glCompileShader() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glCompressedTexImage2D ( GLenum target , GLint level , GLenum internalformat , GLsizei width , GLsizei height , GLint border , GLsizei imageSize , const void * data )

Convenience function that calls glCompressedTexImage2D( target , level , internalformat , width , height , border , imageSize , data ).

更多信息,见 OpenGL /ES 2.0 documentation for glCompressedTexImage2D() .

void QGLFunctions:: glCompressedTexSubImage2D ( GLenum target , GLint level , GLint xoffset , GLint yoffset , GLsizei width , GLsizei height , GLenum format , GLsizei imageSize , const void * data )

Convenience function that calls glCompressedTexSubImage2D( target , level , xoffset , yoffset , width , height , format , imageSize , data ).

更多信息,见 OpenGL /ES 2.0 documentation for glCompressedTexSubImage2D() .

GLuint QGLFunctions:: glCreateProgram ()

Convenience function that calls glCreateProgram().

更多信息,见 OpenGL /ES 2.0 documentation for glCreateProgram() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

GLuint QGLFunctions:: glCreateShader ( GLenum type )

Convenience function that calls glCreateShader( type ).

更多信息,见 OpenGL /ES 2.0 documentation for glCreateShader() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glDeleteBuffers ( GLsizei n , const GLuint * buffers )

Convenience function that calls glDeleteBuffers( n , buffers ).

更多信息,见 OpenGL /ES 2.0 documentation for glDeleteBuffers() .

void QGLFunctions:: glDeleteFramebuffers ( GLsizei n , const GLuint * framebuffers )

Convenience function that calls glDeleteFramebuffers( n , framebuffers ).

更多信息,见 OpenGL /ES 2.0 documentation for glDeleteFramebuffers() .

void QGLFunctions:: glDeleteProgram ( GLuint program )

Convenience function that calls glDeleteProgram( program ).

更多信息,见 OpenGL /ES 2.0 documentation for glDeleteProgram() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glDeleteRenderbuffers ( GLsizei n , const GLuint * renderbuffers )

Convenience function that calls glDeleteRenderbuffers( n , renderbuffers ).

更多信息,见 OpenGL /ES 2.0 documentation for glDeleteRenderbuffers() .

void QGLFunctions:: glDeleteShader ( GLuint shader )

Convenience function that calls glDeleteShader( shader ).

更多信息,见 OpenGL /ES 2.0 documentation for glDeleteShader() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glDepthRangef ( GLclampf zNear , GLclampf zFar )

Convenience function that calls glDepthRange( zNear , zFar ) on desktop OpenGL systems and glDepthRangef( zNear , zFar ) on embedded OpenGL /ES systems.

更多信息,见 OpenGL /ES 2.0 documentation for glDepthRangef() .

void QGLFunctions:: glDetachShader ( GLuint program , GLuint shader )

Convenience function that calls glDetachShader( program , shader ).

更多信息,见 OpenGL /ES 2.0 documentation for glDetachShader() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glDisableVertexAttribArray ( GLuint index )

Convenience function that calls glDisableVertexAttribArray( index ).

更多信息,见 OpenGL /ES 2.0 documentation for glDisableVertexAttribArray() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glEnableVertexAttribArray ( GLuint index )

Convenience function that calls glEnableVertexAttribArray( index ).

更多信息,见 OpenGL /ES 2.0 documentation for glEnableVertexAttribArray() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glFramebufferRenderbuffer ( GLenum target , GLenum attachment , GLenum renderbuffertarget , GLuint renderbuffer )

Convenience function that calls glFramebufferRenderbuffer( target , attachment , renderbuffertarget , renderbuffer ).

更多信息,见 OpenGL /ES 2.0 documentation for glFramebufferRenderbuffer() .

void QGLFunctions:: glFramebufferTexture2D ( GLenum target , GLenum attachment , GLenum textarget , GLuint texture , GLint level )

Convenience function that calls glFramebufferTexture2D( target , attachment , textarget , texture , level ).

更多信息,见 OpenGL /ES 2.0 documentation for glFramebufferTexture2D() .

void QGLFunctions:: glGenBuffers ( GLsizei n , GLuint * buffers )

Convenience function that calls glGenBuffers( n , buffers ).

更多信息,见 OpenGL /ES 2.0 documentation for glGenBuffers() .

void QGLFunctions:: glGenFramebuffers ( GLsizei n , GLuint * framebuffers )

Convenience function that calls glGenFramebuffers( n , framebuffers ).

更多信息,见 OpenGL /ES 2.0 documentation for glGenFramebuffers() .

void QGLFunctions:: glGenRenderbuffers ( GLsizei n , GLuint * renderbuffers )

Convenience function that calls glGenRenderbuffers( n , renderbuffers ).

更多信息,见 OpenGL /ES 2.0 documentation for glGenRenderbuffers() .

void QGLFunctions:: glGenerateMipmap ( GLenum target )

Convenience function that calls glGenerateMipmap( target ).

更多信息,见 OpenGL /ES 2.0 documentation for glGenerateMipmap() .

void QGLFunctions:: glGetActiveAttrib ( GLuint program , GLuint index , GLsizei bufsize , GLsizei * length , GLint * size , GLenum * type , char * name )

Convenience function that calls glGetActiveAttrib( program , index , bufsize , length , size , type , name ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetActiveAttrib() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glGetActiveUniform ( GLuint program , GLuint index , GLsizei bufsize , GLsizei * length , GLint * size , GLenum * type , char * name )

Convenience function that calls glGetActiveUniform( program , index , bufsize , length , size , type , name ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetActiveUniform() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glGetAttachedShaders ( GLuint program , GLsizei maxcount , GLsizei * count , GLuint * shaders )

Convenience function that calls glGetAttachedShaders( program , maxcount , count , shaders ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetAttachedShaders() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

int QGLFunctions:: glGetAttribLocation ( GLuint program , const char * name )

Convenience function that calls glGetAttribLocation( program , name ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetAttribLocation() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glGetBufferParameteriv ( GLenum target , GLenum pname , GLint * params )

Convenience function that calls glGetBufferParameteriv( target , pname , params ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetBufferParameteriv() .

void QGLFunctions:: glGetFramebufferAttachmentParameteriv ( GLenum target , GLenum attachment , GLenum pname , GLint * params )

Convenience function that calls glGetFramebufferAttachmentParameteriv( target , attachment , pname , params ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetFramebufferAttachmentParameteriv() .

void QGLFunctions:: glGetProgramInfoLog ( GLuint program , GLsizei bufsize , GLsizei * length , char * infolog )

Convenience function that calls glGetProgramInfoLog( program , bufsize , length , infolog ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetProgramInfoLog() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glGetProgramiv ( GLuint program , GLenum pname , GLint * params )

Convenience function that calls glGetProgramiv( program , pname , params ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetProgramiv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glGetRenderbufferParameteriv ( GLenum target , GLenum pname , GLint * params )

Convenience function that calls glGetRenderbufferParameteriv( target , pname , params ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetRenderbufferParameteriv() .

void QGLFunctions:: glGetShaderInfoLog ( GLuint shader , GLsizei bufsize , GLsizei * length , char * infolog )

Convenience function that calls glGetShaderInfoLog( shader , bufsize , length , infolog ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetShaderInfoLog() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glGetShaderPrecisionFormat ( GLenum shadertype , GLenum precisiontype , GLint * range , GLint * precision )

Convenience function that calls glGetShaderPrecisionFormat( shadertype , precisiontype , range , precision ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetShaderPrecisionFormat() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glGetShaderSource ( GLuint shader , GLsizei bufsize , GLsizei * length , char * source )

Convenience function that calls glGetShaderSource( shader , bufsize , length , source ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetShaderSource() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glGetShaderiv ( GLuint shader , GLenum pname , GLint * params )

Convenience function that calls glGetShaderiv( shader , pname , params ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetShaderiv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

int QGLFunctions:: glGetUniformLocation ( GLuint program , const char * name )

Convenience function that calls glGetUniformLocation( program , name ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetUniformLocation() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glGetUniformfv ( GLuint program , GLint location , GLfloat * params )

Convenience function that calls glGetUniformfv( program , location , params ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetUniformfv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glGetUniformiv ( GLuint program , GLint location , GLint * params )

Convenience function that calls glGetUniformiv( program , location , params ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetUniformiv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glGetVertexAttribPointerv ( GLuint index , GLenum pname , void ** pointer )

Convenience function that calls glGetVertexAttribPointerv( index , pname , pointer ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetVertexAttribPointerv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glGetVertexAttribfv ( GLuint index , GLenum pname , GLfloat * params )

Convenience function that calls glGetVertexAttribfv( index , pname , params ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetVertexAttribfv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glGetVertexAttribiv ( GLuint index , GLenum pname , GLint * params )

Convenience function that calls glGetVertexAttribiv( index , pname , params ).

更多信息,见 OpenGL /ES 2.0 documentation for glGetVertexAttribiv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

GLboolean QGLFunctions:: glIsBuffer ( GLuint buffer )

Convenience function that calls glIsBuffer( buffer ).

更多信息,见 OpenGL /ES 2.0 documentation for glIsBuffer() .

GLboolean QGLFunctions:: glIsFramebuffer ( GLuint framebuffer )

Convenience function that calls glIsFramebuffer( framebuffer ).

更多信息,见 OpenGL /ES 2.0 documentation for glIsFramebuffer() .

GLboolean QGLFunctions:: glIsProgram ( GLuint program )

Convenience function that calls glIsProgram( program ).

更多信息,见 OpenGL /ES 2.0 documentation for glIsProgram() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

GLboolean QGLFunctions:: glIsRenderbuffer ( GLuint renderbuffer )

Convenience function that calls glIsRenderbuffer( renderbuffer ).

更多信息,见 OpenGL /ES 2.0 documentation for glIsRenderbuffer() .

GLboolean QGLFunctions:: glIsShader ( GLuint shader )

Convenience function that calls glIsShader( shader ).

更多信息,见 OpenGL /ES 2.0 documentation for glIsShader() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glLinkProgram ( GLuint program )

Convenience function that calls glLinkProgram( program ).

更多信息,见 OpenGL /ES 2.0 documentation for glLinkProgram() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glReleaseShaderCompiler ()

Convenience function that calls glReleaseShaderCompiler().

更多信息,见 OpenGL /ES 2.0 documentation for glReleaseShaderCompiler() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glRenderbufferStorage ( GLenum target , GLenum internalformat , GLsizei width , GLsizei height )

Convenience function that calls glRenderbufferStorage( target , internalformat , width , height ).

更多信息,见 OpenGL /ES 2.0 documentation for glRenderbufferStorage() .

void QGLFunctions:: glSampleCoverage ( GLclampf value , GLboolean invert )

Convenience function that calls glSampleCoverage( value , invert ).

更多信息,见 OpenGL /ES 2.0 documentation for glSampleCoverage() .

void QGLFunctions:: glShaderBinary ( GLint n , const GLuint * shaders , GLenum binaryformat , const void * binary , GLint length )

Convenience function that calls glShaderBinary( n , shaders , binaryformat , binary , length ).

更多信息,见 OpenGL /ES 2.0 documentation for glShaderBinary() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glShaderSource ( GLuint shader , GLsizei count , const char ** string , const GLint * length )

Convenience function that calls glShaderSource( shader , count , string , length ).

更多信息,见 OpenGL /ES 2.0 documentation for glShaderSource() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glStencilFuncSeparate ( GLenum face , GLenum func , GLint ref , GLuint mask )

Convenience function that calls glStencilFuncSeparate( face , func , ref , mask ).

更多信息,见 OpenGL /ES 2.0 documentation for glStencilFuncSeparate() .

void QGLFunctions:: glStencilMaskSeparate ( GLenum face , GLuint mask )

Convenience function that calls glStencilMaskSeparate( face , mask ).

更多信息,见 OpenGL /ES 2.0 documentation for glStencilMaskSeparate() .

void QGLFunctions:: glStencilOpSeparate ( GLenum face , GLenum fail , GLenum zfail , GLenum zpass )

Convenience function that calls glStencilOpSeparate( face , fail , zfail , zpass ).

更多信息,见 OpenGL /ES 2.0 documentation for glStencilOpSeparate() .

void QGLFunctions:: glUniform1f ( GLint location , GLfloat x )

Convenience function that calls glUniform1f( location , x ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform1f() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniform1fv ( GLint location , GLsizei count , const GLfloat * v )

Convenience function that calls glUniform1fv( location , count , v ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform1fv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniform1i ( GLint location , GLint x )

Convenience function that calls glUniform1i( location , x ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform1i() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniform1iv ( GLint location , GLsizei count , const GLint * v )

Convenience function that calls glUniform1iv( location , count , v ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform1iv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniform2f ( GLint location , GLfloat x , GLfloat y )

Convenience function that calls glUniform2f( location , x , y ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform2f() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniform2fv ( GLint location , GLsizei count , const GLfloat * v )

Convenience function that calls glUniform2fv( location , count , v ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform2fv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniform2i ( GLint location , GLint x , GLint y )

Convenience function that calls glUniform2i( location , x , y ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform2i() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniform2iv ( GLint location , GLsizei count , const GLint * v )

Convenience function that calls glUniform2iv( location , count , v ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform2iv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniform3f ( GLint location , GLfloat x , GLfloat y , GLfloat z )

Convenience function that calls glUniform3f( location , x , y , z ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform3f() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniform3fv ( GLint location , GLsizei count , const GLfloat * v )

Convenience function that calls glUniform3fv( location , count , v ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform3fv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniform3i ( GLint location , GLint x , GLint y , GLint z )

Convenience function that calls glUniform3i( location , x , y , z ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform3i() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniform3iv ( GLint location , GLsizei count , const GLint * v )

Convenience function that calls glUniform3iv( location , count , v ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform3iv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniform4f ( GLint location , GLfloat x , GLfloat y , GLfloat z , GLfloat w )

Convenience function that calls glUniform4f( location , x , y , z , w ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform4f() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniform4fv ( GLint location , GLsizei count , const GLfloat * v )

Convenience function that calls glUniform4fv( location , count , v ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform4fv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniform4i ( GLint location , GLint x , GLint y , GLint z , GLint w )

Convenience function that calls glUniform4i( location , x , y , z , w ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform4i() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniform4iv ( GLint location , GLsizei count , const GLint * v )

Convenience function that calls glUniform4iv( location , count , v ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniform4iv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniformMatrix2fv ( GLint location , GLsizei count , GLboolean transpose , const GLfloat * value )

Convenience function that calls glUniformMatrix2fv( location , count , transpose , value ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniformMatrix2fv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniformMatrix3fv ( GLint location , GLsizei count , GLboolean transpose , const GLfloat * value )

Convenience function that calls glUniformMatrix3fv( location , count , transpose , value ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniformMatrix3fv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUniformMatrix4fv ( GLint location , GLsizei count , GLboolean transpose , const GLfloat * value )

Convenience function that calls glUniformMatrix4fv( location , count , transpose , value ).

更多信息,见 OpenGL /ES 2.0 documentation for glUniformMatrix4fv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glUseProgram ( GLuint program )

Convenience function that calls glUseProgram( program ).

更多信息,见 OpenGL /ES 2.0 documentation for glUseProgram() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glValidateProgram ( GLuint program )

Convenience function that calls glValidateProgram( program ).

更多信息,见 OpenGL /ES 2.0 documentation for glValidateProgram() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glVertexAttrib1f ( GLuint indx , GLfloat x )

Convenience function that calls glVertexAttrib1f( indx , x ).

更多信息,见 OpenGL /ES 2.0 documentation for glVertexAttrib1f() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glVertexAttrib1fv ( GLuint indx , const GLfloat * )

Convenience function that calls glVertexAttrib1fv( indx , ).

更多信息,见 OpenGL /ES 2.0 documentation for glVertexAttrib1fv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glVertexAttrib2f ( GLuint indx , GLfloat x , GLfloat y )

Convenience function that calls glVertexAttrib2f( indx , x , y ).

更多信息,见 OpenGL /ES 2.0 documentation for glVertexAttrib2f() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glVertexAttrib2fv ( GLuint indx , const GLfloat * )

Convenience function that calls glVertexAttrib2fv( indx , ).

更多信息,见 OpenGL /ES 2.0 documentation for glVertexAttrib2fv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glVertexAttrib3f ( GLuint indx , GLfloat x , GLfloat y , GLfloat z )

Convenience function that calls glVertexAttrib3f( indx , x , y , z ).

更多信息,见 OpenGL /ES 2.0 documentation for glVertexAttrib3f() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glVertexAttrib3fv ( GLuint indx , const GLfloat * )

Convenience function that calls glVertexAttrib3fv( indx , ).

更多信息,见 OpenGL /ES 2.0 documentation for glVertexAttrib3fv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glVertexAttrib4f ( GLuint indx , GLfloat x , GLfloat y , GLfloat z , GLfloat w )

Convenience function that calls glVertexAttrib4f( indx , x , y , z , w ).

更多信息,见 OpenGL /ES 2.0 documentation for glVertexAttrib4f() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glVertexAttrib4fv ( GLuint indx , const GLfloat * )

Convenience function that calls glVertexAttrib4fv( indx , ).

更多信息,见 OpenGL /ES 2.0 documentation for glVertexAttrib4fv() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

void QGLFunctions:: glVertexAttribPointer ( GLuint indx , GLint size , GLenum type , GLboolean normalized , GLsizei stride , const void * ptr )

Convenience function that calls glVertexAttribPointer( indx , size , type , normalized , stride , ptr ).

更多信息,见 OpenGL /ES 2.0 documentation for glVertexAttribPointer() .

This convenience function will do nothing on OpenGL /ES 1.x systems.

bool QGLFunctions:: hasOpenGLFeature ( QGLFunctions::OpenGLFeature feature ) const

返回 true 若 feature is present on this system's OpenGL implementation; false otherwise.

It is assumed that the QGLContext associated with this function resolver is current.

另请参阅 openGLFeatures ().

void QGLFunctions:: initializeGLFunctions (const QGLContext * context = 0)

Initializes GL function resolution for context 。若 context is null, then the current QGLContext 会被使用。

After calling this function, the QGLFunctions object can only be used with context and other contexts that share with it. Call initializeGLFunctions() again to change the object's context association.

QGLFunctions::OpenGLFeatures QGLFunctions:: openGLFeatures () const

Returns the set of features that are present on this system's OpenGL 实现。

It is assumed that the QGLContext associated with this function resolver is current.

另请参阅 hasOpenGLFeature ().