本页内容

QOpenGLFunctions Class

QOpenGLFunctions 类提供了对 OpenGL ES 2.0 API 的跨平台访问。更多内容...

头文件: #include <QOpenGLFunctions>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
由以下接口继承:

QOpenGLExtraFunctions

公共类型

enum OpenGLFeature { Multitexture, Shaders, Buffers, Framebuffers, BlendColor, …, MultipleRenderTargets }
flags OpenGLFeatures

公共函数

QOpenGLFunctions()
QOpenGLFunctions(QOpenGLContext*context)
~QOpenGLFunctions()
void glActiveTexture(GLenum纹理)
void glAttachShader(GLuintprogram, GLuintshader)
void glBindAttribLocation(GLuint程序, GLuint索引, const char*名称)
void glBindBuffer(GLenum目标, GLuint缓冲区)
void glBindFramebuffer(GLenum目标, GLuint帧缓冲区)
void glBindRenderbuffer(GLenum目标, GLuint渲染缓冲区)
void glBindTexture(GLenum目标, GLuint纹理)
void glBlendColor(GLclampfred, GLclampfgreen, GLclampfblue, GLclampfalpha)
void glBlendEquation(GLenum模式)
void glBlendEquationSeparate(GLenum模式RGB, GLenum模式Alpha)
void glBlendFunc(GLenumsfactor, GLenumdfactor)
void glBlendFuncSeparate(GLenumsrcRGB, GLenumdstRGB, GLenumsrcAlpha, GLenumdstAlpha)
void glBufferData(GLenum目标, qopengl_GLsizeiptr大小, const void*数据, GLenum使用方式)
void glBufferSubData(GLenum目标, qopengl_GLintptr偏移量, qopengl_GLsizeiptr大小, const void*数据)
GLenum glCheckFramebufferStatus(GLenumtarget)
void glClear(GLbitfieldmask)
void glClearColor(GLclampfred, GLclampfgreen, GLclampfblue, GLclampfalpha)
void glClearDepthf(GLclampfdepth)
void glClearStencil(GLints)
void glColorMask(GLbooleanred, GLbooleangreen, GLbooleanblue, GLbooleanalpha)
void glCompileShader(GLuint着色器)
void glCompressedTexImage2D(GLenum目标, GLint层级, GLenum内部格式, GLsizei宽度, GLsizei高度, GLint边框, GLsizei图像大小, const void*数据)
void glCompressedTexSubImage2D(GLenum目标, GLint级别, GLintx偏移量, GLinty偏移量, GLsizei宽度, GLsizei高度, GLenum格式, GLsizei图像大小, const void*数据)
void glCopyTexImage2D(GLenumtarget, GLintlevel, GLenuminternalformat, GLintx, GLinty, GLsizeiwidth, GLsizeiheight, GLintborder)
void glCopyTexSubImage2D(GLenumtarget, GLintlevel, GLintxoffset, GLintyoffset, GLintx, GLinty, GLsizeiwidth, GLsizeiheight)
GLuint glCreateProgram()
GLuint glCreateShader(GLenumtype)
void glCullFace(GLenum模式)
void glDeleteBuffers(GLsizein, const GLuint*buffers)
void glDeleteFramebuffers(GLsizein, const GLuint*framebuffers)
void glDeleteProgram(GLuintprogram)
void glDeleteRenderbuffers(GLsizein, const GLuint*渲染缓冲区)
void glDeleteShader(GLuint着色器)
void glDeleteTextures(GLsizein, const GLuint*textures)
void glDepthFunc(GLenumfunc)
void glDepthMask(GLboolean标志)
void glDepthRangef(GLclampfzNear, GLclampfzFar)
void glDetachShader(GLuintprogram, GLuintshader)
void glDisable(GLenumcap)
void glDisableVertexAttribArray(GLuint索引)
void glDrawArrays(GLenummode, GLintfirst, GLsizeicount)
void glDrawElements(GLenum模式, GLsizei计数, GLenum类型, const GLvoid*索引)
void glEnable(GLenumcap)
void glEnableVertexAttribArray(GLuintindex)
void glFinish()
void glFlush()
void glFramebufferRenderbuffer(GLenum目标, GLenum附加, GLenum渲染缓冲区目标, GLuint渲染缓冲区)
void glFramebufferTexture2D(GLenum目标, GLenum附件, GLenum渲染缓冲区目标, GLuint渲染缓冲区)void (GLenum 目标, GLenum 附件, GLenum 纹理目标, GLuint纹理, GLint级别)
void glFrontFace(GLenum模式)
void glGenBuffers(GLsizein, GLuint*buffers)
void glGenFramebuffers(GLsizein, GLuint*framebuffers)
void glGenRenderbuffers(GLsizein, GLuint*renderbuffers)
void glGenTextures(GLsizein, GLuint*textures)
void glGenerateMipmap(GLenumtarget)
void glGetActiveAttrib(GLuintprogram, GLuintindex, GLsizeibufsize, GLsizei*length, GLint*size, GLenum*type, char*name)
void glGetActiveUniform(GLuintprogram, GLuintindex, GLsizeibufsize, GLsizei*length, GLint*size, GLenum*type, char*name)
void glGetAttachedShaders(GLuintprogram, GLsizeimaxcount, GLsizei*count, GLuint*shaders)
GLint glGetAttribLocation(GLuintprogram, const char*name)
void glGetBooleanv(GLenumpname, GLboolean*params)
void glGetBufferParameteriv(GLenumtarget, GLenumpname, GLint*params)
GLenum glGetError()
void glGetFloatv(GLenumpname, GLfloat*params)
void glGetFramebufferAttachmentParameteriv(GLenumtarget, GLenumattachment, GLenumpname, GLint*params)
void glGetIntegerv(GLenumpname, GLint*params)
void glGetProgramInfoLog(GLuintprogram, GLsizeibufsize, GLsizei*length, char*infolog)
void glGetProgramiv(GLuintprogram, GLenumpname, GLint*params)
void glGetRenderbufferParameteriv(GLenumtarget, GLenumpname, GLint*params)
void glGetShaderInfoLog(GLuint着色器, GLsizei缓冲区大小, GLsizei*长度, char*输入日志)
void glGetShaderPrecisionFormat(GLenum着色器类型, GLenum精度类型, GLint*范围, GLint*精度)
void glGetShaderSource(GLuint着色器, GLsizei缓冲区大小, GLsizei*长度, char*源)
void glGetShaderiv(GLuint着色器, GLenum参数名, GLint*参数)
const GLubyte *glGetString(GLenumname)
void glGetTexParameterfv(GLenumtarget, GLenumpname, GLfloat*params)
void glGetTexParameteriv(GLenum目标, GLenum名称, GLint*参数)
GLint glGetUniformLocation(GLuintprogram, const char*name)
void glGetUniformfv(GLuintprogram, GLintlocation, GLfloat*params)
void glGetUniformiv(GLuintprogram, GLintlocation, GLint*params)
void glGetVertexAttribPointerv(GLuint索引, GLenum程序名, void**指针)
void glGetVertexAttribfv(GLuint索引, GLenum参数名, GLfloat*参数)
void glGetVertexAttribiv(GLuint索引, GLenum函数名, GLint*参数)
void glHint(GLenumtarget, GLenummode)
GLboolean glIsBuffer(GLuint缓冲区)
GLboolean glIsEnabled(GLenumcap)
GLboolean glIsFramebuffer(GLuint帧缓冲区)
GLboolean glIsProgram(GLuintprogram)
GLboolean glIsRenderbuffer(GLuint渲染缓冲区)
GLboolean glIsShader(GLuint着色器)
GLboolean glIsTexture(GLuint纹理)
void glLineWidth(GLfloat宽度)
void glLinkProgram(GLuint程序)
void glPixelStorei(GLenum函数名, GLint参数)
void glPolygonOffset(GLfloat因子, GLfloat单位)
void glReadPixels(GLintx, GLinty, GLsizeiwidth, GLsizeiheight, GLenumformat, GLenumtype, GLvoid*pixels)
void glReleaseShaderCompiler()
void glRenderbufferStorage(GLenumtarget, GLenuminternalformat, GLsizeiwidth, GLsizeiheight)
void glSampleCoverage(GLclampfvalue, GLbooleaninvert)
void glScissor(GLintx, GLinty, GLsizeiwidth, GLsizeiheight)
void glShaderBinary(GLintn, const GLuint*shaders, GLenumbinaryformat, const void*binary, GLintlength)
void glShaderSource(GLuintshader, GLsizeicount, const char**string, const GLint*length)
void glStencilFunc(GLenumfunc, GLintref, GLuintmask)
void glStencilFuncSeparate(GLenumface, GLenumfunc, GLintref, GLuintmask)
void glStencilMask(GLuintmask)
void glStencilMaskSeparate(GLenumface, GLuintmask)
void glStencilOp(GLenumfail, GLenumzfail, GLenumzpass)
void glStencilOpSeparate(GLenumface, GLenumfail, GLenumzfail, GLenumzpass)
void glTexImage2D(GLenum目标, GLint级别, GLint内部格式, GLsizei宽度, GLsizei高度, GLint边框, GLenum格式, GLenum类型, const GLvoid*像素)
void glTexParameterf(GLenum目标, GLenum名称, GLfloat参数)
void glTexParameterfv(GLenumtarget, GLenumpname, const GLfloat*params)
void glTexParameteri(GLenumtarget, GLenumpname, GLintparam)
void glTexParameteriv(GLenumtarget, GLenumpname, const GLint*params)
void glTexSubImage2D(GLenumtarget, GLintlevel, GLintxoffset, GLintyoffset, GLsizeiwidth, GLsizeiheight, GLenumformat, GLenumtype, const GLvoid*pixels)
void glUniform1f(GLint位置, GLfloatx)
void glUniform1fv(GLint位置, GLsizei计数, const GLfloat*v)
void glUniform1i(GLint位置, GLintx)
void glUniform1iv(GLint位置, GLsizei计数, const GLint*v)
void glUniform2f(GLint位置, GLfloatx, GLfloaty)
void glUniform2fv(GLint位置, GLsizei计数, const GLfloat*v)
void glUniform2i(GLint位置, GLintx, GLinty)
void glUniform2iv(GLint位置, GLsizei计数, const GLint*v)
void glUniform3f(GLint位置, GLfloatx, GLfloaty, GLfloatz)
void glUniform3fv(GLint位置, GLsizei计数, const GLfloat*v)
void glUniform3i(GLint位置, GLintx, GLinty, GLintz)
void glUniform3iv(GLint位置, GLsizei计数, const GLint*v)
void glUniform4f(GLint位置, GLfloatx, GLfloaty, GLfloatz, GLfloatw)
void glUniform4fv(GLint位置, GLsizei计数, const GLfloat*v)
void glUniform4i(GLint位置, GLintx, GLinty, GLintz, GLintw)
void glUniform4iv(GLint位置, GLsizei计数, const GLint*v)
void glUniformMatrix2fv(GLint位置, GLsizei计数, GLboolean转置, const GLfloat*值)
void glUniformMatrix3fv(GLint位置, GLsizei计数, GLboolean转置, const GLfloat*值)
void glUniformMatrix4fv(GLint位置, GLsizei计数, GLboolean转置, const GLfloat*值)
void glUseProgram(GLuintprogram)
void glValidateProgram(GLuintprogram)
void glVertexAttrib1f(GLuintindx, GLfloatx)
void glVertexAttrib1fv(GLuintindx, const GLfloat*values)
void glVertexAttrib2f(GLuintindx, GLfloatx, GLfloaty)
void glVertexAttrib2fv(GLuintindx, const GLfloat*values)
void glVertexAttrib3f(GLuintindx, GLfloatx, GLfloaty, GLfloatz)
void glVertexAttrib3fv(GLuintindx, const GLfloat*values)
void glVertexAttrib4f(GLuintindx, GLfloatx, GLfloaty, GLfloatz, GLfloatw)
void glVertexAttrib4fv(GLuintindx, const GLfloat*values)
void glVertexAttribPointer(GLuintindx, GLintsize, GLenumtype, GLbooleannormalized, GLsizeistride, const void*ptr)
void glViewport(GLintx, GLinty, GLsizeiwidth, GLsizeiheight)
bool hasOpenGLFeature(QOpenGLFunctions::OpenGLFeaturefeature) const
void initializeOpenGLFunctions()
QOpenGLFunctions::OpenGLFeatures openGLFeatures() const

详细说明

OpenGL ES 2.0 定义了 OpenGL 规范的一个子集,该子集在许多桌面和嵌入式 OpenGL 实现中是通用的。然而,使用该子集中的函数可能比较困难,因为在桌面系统上需要手动解析这些函数。

QOpenGLFunctions 提供了一个在所有 OpenGL 系统上均可使用的、经过验证的 API,并会在需要时自动处理函数解析。使用 QOpenGLFunctions 的推荐方式是直接继承:

class MyGLWindow : public QWindow, protected QOpenGLFunctions
{
    Q_OBJECT
public:
    explicit MyGLWindow(QScreen *screen = nullptr);

protected:
    void initializeGL();
    void paintGL();

    QOpenGLContext *m_context;
};

MyGLWindow::MyGLWindow(QScreen *screen)
  : QWindow(screen)
{
    setSurfaceType(OpenGLSurface);
    create();

    // Create an OpenGL context
    m_context = new QOpenGLContext;
    m_context->create();

    // Setup scene and render it
    initializeGL();
    paintGL();
};

void MyGLWindow::initializeGL()
{
    m_context->makeCurrent(this);
    initializeOpenGLFunctions();
}

这样,paintGL() 函数就可以在不进行显式解析的情况下使用任何OpenGL ES 2.0函数,例如下例中的glActiveTexture():

void MyGLWindow::paintGL()
{
    m_context->makeCurrent(this);
    glActiveTexture(GL_TEXTURE1);
    glBindTexture(GL_TEXTURE_2D, textureId);
    // ...
    m_context->swapBuffers(this);
    m_context->doneCurrent();
}

QOpenGLFunctions 还可在所有平台上直接用于临时调用 OpenGL ES 2.0 函数:

QOpenGLFunctions glFuncs(QOpenGLContext::currentContext());
glFuncs.glActiveTexture(GL_TEXTURE1);

另一种方法是查询上下文关联的 `QOpenGLFunctions` 实例。 由于避免了创建新实例,这种方法比前一种方法稍快一些,但差异相当微小,因为内部数据结构是共享的,而且对于给定的上下文,函数解析仅发生一次,无论为其初始化了多少个 QOpenGLFunctions 实例。

QOpenGLFunctions *glFuncs = QOpenGLContext::currentContext()->functions();
glFuncs->glActiveTexture(GL_TEXTURE1);

QOpenGLFunctions 为所有 OpenGL ES 2.0 函数提供了封装,包括 OpenGL 1.x 和 ES 2.0 的公共子集。 虽然此类函数(例如glClear() 或glDrawArrays())也可以直接调用(只要应用程序链接到特定平台的 OpenGL 库),但通过 QOpenGLFunctions 调用它们可以实现动态加载 OpenGL 实现。

hasOpenGLFeature() 和openGLFeatures() 函数可用于判断 OpenGL 实现是否支持 OpenGL ES 2.0 的主要功能。例如,以下代码用于检查是否支持非 2 的幂的纹理:

QOpenGLFunctions funcs(QOpenGLContext::currentContext());
bool npot = funcs.hasOpenGLFeature(QOpenGLFunctions::NPOTTextures);

安全性注意事项

QOpenGLFunctions 是一个轻量级分派层,它原样暴露 OpenGL ES 2.0 API。参数会被原样转发给底层 OpenGL 实现,而该实现是可信的、位于同一进程中的平台依赖项。 Qt 不会检查、验证或清理传入的枚举值、大小、偏移量和指针,也不会对返回的结果采取任何行动。因此,在此处调用成员函数等同于直接调用相应的 OpenGL 函数,OpenGL 和 OpenGL ES 规范中的规则同样适用。 违反这些规则将导致 OpenGL 实现中出现未定义的行为,而非由 Qt OpenGL 引发的优雅失败。

特别需要注意的是,那些同时接受客户端指针以及大小或格式描述的函数(例如glTexImage2D()、glBufferData()、glDrawElements() 和glReadPixels()),会导致根据其他参数的指示对该内存进行读取或写入。 因此,与实际提供的缓冲区不匹配的大小,在应用程序自身的地址空间中属于越界访问,而不仅仅是驱动程序侧的错误。

警告: 通过 QOpenGLFunctions 传递的所有 数据均 应为可信内容。建议应用程序开发人员在将非应用程序组成部分且不受开发者控制的用户提供内容作为数据来源之前,仔细考虑其潜在影响。更多信息请参阅QOpenGLContext 。

另请参阅 QOpenGLContext 和QSurfaceFormat 。

成员类型文档

enum QOpenGLFunctions::OpenGLFeature
flags QOpenGLFunctions::OpenGLFeatures

此枚举定义了 OpenGL 和 OpenGL ES 的功能,这些功能是否存在可能取决于具体实现。

常量值描述
QOpenGLFunctions::Multitexture0x0001glActiveTexture() 函数可用。
QOpenGLFunctions::Shaders0x0002提供着色器函数。
QOpenGLFunctions::Buffers0x0004顶点和索引缓冲区函数可用。
QOpenGLFunctions::Framebuffers0x0008帧缓冲对象函数可用。
QOpenGLFunctions::BlendColor0x0010glBlendColor() 可用。
QOpenGLFunctions::BlendEquation0x0020glBlendEquation() 可用。
QOpenGLFunctions::BlendEquationSeparate0x0040glBlendEquationSeparate() 可用。
QOpenGLFunctions::BlendEquationAdvanced0x20000提供高级混合方程。
QOpenGLFunctions::BlendFuncSeparate0x0080glBlendFuncSeparate() 可用。
QOpenGLFunctions::BlendSubtract0x0100支持“混合减法”模式。
QOpenGLFunctions::CompressedTextures0x0200提供压缩纹理功能。
QOpenGLFunctions::Multisample0x0400glSampleCoverage() 功能可用。
QOpenGLFunctions::StencilSeparate0x0800提供独立的模板函数。
QOpenGLFunctions::NPOTTextures0x1000支持非 2 的幂纹理。
QOpenGLFunctions::NPOTTextureRepeat0x2000非 2 的幂纹理可使用 GL_REPEAT 作为循环参数。
QOpenGLFunctions::FixedFunctionPipeline0x4000支持固定功能管道。
QOpenGLFunctions::TextureRGFormats0x8000支持 GL_RED 和 GL_RG 纹理格式。
QOpenGLFunctions::MultipleRenderTargets0x10000帧缓冲区对象支持多个颜色附件。

OpenGLFeatures 类型是QFlags<OpenGLFeature> 的 typedef。它存储 OpenGLFeature 值的按“或”运算组合。

成员函数文档

QOpenGLFunctions::QOpenGLFunctions()

构建一个默认函数解析器。在调用 `initializeOpenGLFunctions()` 指定上下文之前,该解析器无法使用。

另请参阅 initializeOpenGLFunctions()。

[explicit] QOpenGLFunctions::QOpenGLFunctions(QOpenGLContext *context)

为context 构建一个函数解析器。如果context 为nullptr ,则该解析器将针对当前的QOpenGLContext 创建。

当前上下文或该组中的另一个上下文必须为当前上下文。

以这种方式构建的对象只能与context 及其共享上下文的其他上下文一起使用。使用initializeOpenGLFunctions()来更改该对象的上下文关联。

另请参阅 initializeOpenGLFunctions()。

[noexcept] QOpenGLFunctions::~QOpenGLFunctions()

销毁此函数解析器。

void QOpenGLFunctions::glActiveTexture(GLenum texture)

一个调用 glActiveTexture(texture) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glActiveTexture() 的说明。

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

一个便捷函数,用于调用 glAttachShader(program,shader)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glAttachShader() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glBindAttribLocation(program,index,name)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glBindAttribLocation() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glBindBuffer(target,buffer)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glBindBuffer() 的说明。

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

一个便捷函数,用于调用 glBindFramebuffer(target,framebuffer)。

请注意,Qt 会将framebuffer 参数的值 0 转换为当前已绑定的QOpenGLContext 的 defaultFramebufferObject()。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glBindFramebuffer() 的说明。

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

一个便捷函数,用于调用 glBindRenderbuffer(target,renderbuffer)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glBindRenderbuffer() 的说明。

void QOpenGLFunctions::glBindTexture(GLenum target, GLuint texture)

一个便捷函数,用于调用 glBindTexture(target,texture)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glBindTexture() 的说明。

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

一个便捷函数,用于调用 glBlendColor(red,green,blue,alpha)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中的glBlendColor() 部分。

void QOpenGLFunctions::glBlendEquation(GLenum mode)

一个调用 glBlendEquation(mode) 的便捷函数。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glBlendEquation() 的说明。

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

一个便捷函数,用于调用 glBlendEquationSeparate(modeRGB,modeAlpha)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glBlendEquationSeparate() 的说明。

void QOpenGLFunctions::glBlendFunc(GLenum sfactor, GLenum dfactor)

一个便捷函数,用于调用 glBlendFunc(sfactor,dfactor)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glBlendFunc() 的说明。

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

一个调用 glBlendFuncSeparate(srcRGB,dstRGB,srcAlpha,dstAlpha) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glBlendFuncSeparate() 的说明。

void QOpenGLFunctions::glBufferData(GLenum target, qopengl_GLsizeiptr size, const void *data, GLenum usage)

一个便捷函数,用于调用 glBufferData(target,size,data,usage)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glBufferData() 的说明。

void QOpenGLFunctions::glBufferSubData(GLenum target, qopengl_GLintptr offset, qopengl_GLsizeiptr size, const void *data)

一个便捷函数,用于调用 glBufferSubData(target,offset,size,data)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glBufferSubData() 的说明。

GLenum QOpenGLFunctions::glCheckFramebufferStatus(GLenum target)

一个调用 glCheckFramebufferStatus(target) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glCheckFramebufferStatus() 的说明。

void QOpenGLFunctions::glClear(GLbitfield mask)

一个调用 glClear(mask) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glClear() 的说明。

void QOpenGLFunctions::glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)

一个便捷函数,用于调用 glClearColor(red,green,blue,alpha)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glClearColor() 的说明。

void QOpenGLFunctions::glClearDepthf(GLclampf depth)

一个便捷函数,在桌面 OpenGL 系统上调用 glClearDepth(depth),在嵌入式 OpenGL ES 系统上调用 glClearDepthf(depth)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glClearDepthf() 的说明。

void QOpenGLFunctions::glClearStencil(GLint s)

一个便捷函数,用于调用 glClearStencil(s)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glClearStencil() 的说明。

void QOpenGLFunctions::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)

一个便捷函数,用于调用 glColorMask(red,green,blue,alpha)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glColorMask() 的说明。

void QOpenGLFunctions::glCompileShader(GLuint shader)

一个调用 glCompileShader(shader) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glCompileShader() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glCompressedTexImage2D(target,level,internalformat,width,height,border,imageSize,data)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glCompressedTexImage2D() 的说明。

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

一个便捷函数,用于调用 glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glCompressedTexSubImage2D() 的说明。

void QOpenGLFunctions::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)

一个便捷函数,用于调用 glCopyTexImage2D(target,level,internalformat,x,y,width,height,border)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glCopyTexImage2D() 的说明。

void QOpenGLFunctions::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)

一个便捷函数,用于调用 glCopyTexSubImage2D(target,level,xoffset,yoffset,x,y,width,height)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glCopyTexSubImage2D() 的说明。

GLuint QOpenGLFunctions::glCreateProgram()

一个用于调用 glCreateProgram() 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glCreateProgram() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

GLuint QOpenGLFunctions::glCreateShader(GLenum type)

一个便捷函数,用于调用 glCreateShader(type)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glCreateShader() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

void QOpenGLFunctions::glCullFace(GLenum mode)

一个调用 glCullFace(mode) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glCullFace() 的说明。

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

一个调用 glDeleteBuffers(n,buffers) 的便捷函数。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glDeleteBuffers() 的说明。

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

一个便捷函数,用于调用 glDeleteFramebuffers(n,framebuffers)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glDeleteFramebuffers() 的说明。

void QOpenGLFunctions::glDeleteProgram(GLuint program)

一个调用 glDeleteProgram(program) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glDeleteProgram() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glDeleteRenderbuffers(n,renderbuffers)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glDeleteRenderbuffers() 的说明。

void QOpenGLFunctions::glDeleteShader(GLuint shader)

一个调用 glDeleteShader(shader) 的便捷函数。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glDeleteShader() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

void QOpenGLFunctions::glDeleteTextures(GLsizei n, const GLuint *textures)

一个便捷函数,用于调用 glDeleteTextures(n,textures)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glDeleteTextures() 的说明。

void QOpenGLFunctions::glDepthFunc(GLenum func)

一个调用 glDepthFunc(func) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glDepthFunc() 的说明。

void QOpenGLFunctions::glDepthMask(GLboolean flag)

一个调用 glDepthMask(flag) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glDepthMask() 的说明。

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

一个便捷函数,在桌面 OpenGL 系统上调用 glDepthRange(zNear,zFar),在嵌入式 OpenGL ES 系统上调用 glDepthRangef(zNear,zFar)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glDepthRangef() 的说明。

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

一个便捷函数,用于调用 glDetachShader(program,shader)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glDetachShader() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

void QOpenGLFunctions::glDisable(GLenum cap)

一个便捷函数,用于调用 glDisable(cap)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glDisable() 的说明。

void QOpenGLFunctions::glDisableVertexAttribArray(GLuint index)

一个便捷函数,用于调用 glDisableVertexAttribArray(index)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glDisableVertexAttribArray() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

void QOpenGLFunctions::glDrawArrays(GLenum mode, GLint first, GLsizei count)

一个便捷函数,用于调用 glDrawArrays(mode,first,count)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glDrawArrays() 的说明。

void QOpenGLFunctions::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)

一个便捷函数,用于调用 glDrawElements(mode,count,type,indices)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glDrawElements() 的说明。

void QOpenGLFunctions::glEnable(GLenum cap)

一个调用 glEnable(cap) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glEnable() 的说明。

void QOpenGLFunctions::glEnableVertexAttribArray(GLuint index)

一个调用 glEnableVertexAttribArray(index) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glEnableVertexAttribArray() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

void QOpenGLFunctions::glFinish()

一个调用 glFinish() 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glFinish() 的说明。

void QOpenGLFunctions::glFlush()

一个用于调用 glFlush() 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glFlush() 的内容。

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

一个调用 glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glFramebufferRenderbuffer() 的说明。

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

一个便捷函数,用于调用 glFramebufferTexture2D(target,attachment,textarget,texture,level)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glFramebufferTexture2D() 的说明。

void QOpenGLFunctions::glFrontFace(GLenum mode)

一个调用 glFrontFace(mode) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glFrontFace() 的说明。

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

一个便捷函数,用于调用 glGenBuffers(n,buffers)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGenBuffers() 的说明。

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

一个便捷函数,用于调用 glGenFramebuffers(n,framebuffers)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glGenFramebuffers() 的说明。

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

一个便捷函数,用于调用 glGenRenderbuffers(n,renderbuffers)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGenRenderbuffers() 的说明。

void QOpenGLFunctions::glGenTextures(GLsizei n, GLuint *textures)

一个调用 glGenTextures(n,textures) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGenTextures() 的说明。

void QOpenGLFunctions::glGenerateMipmap(GLenum target)

一个调用 glGenerateMipmap(target) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGenerateMipmap() 的说明。

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

一个便捷函数,用于调用 glGetActiveAttrib(program,index,bufsize,length,size,type,name)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetActiveAttrib() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glGetActiveUniform(program,index,bufsize,length,size,type,name)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中的glGetActiveUniform() 说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glGetAttachedShaders(program,maxcount,count,shaders)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glGetAttachedShaders() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

GLint QOpenGLFunctions::glGetAttribLocation(GLuint program, const char *name)

一个便捷函数,用于调用 glGetAttribLocation(program,name)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetAttribLocation() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

void QOpenGLFunctions::glGetBooleanv(GLenum pname, GLboolean *params)

一个便捷函数,用于调用 glGetBooleanv(pname,params)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetBooleanv() 的说明。

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

一个便捷函数,用于调用 glGetBufferParameteriv(target,pname,params)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glGetBufferParameteriv() 的说明。

GLenum QOpenGLFunctions::glGetError()

一个调用 glGetError() 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetError() 的说明。

void QOpenGLFunctions::glGetFloatv(GLenum pname, GLfloat *params)

一个便捷函数,用于调用 glGetFloatv(pname,params)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetFloatv() 的说明。

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

一个便捷函数,用于调用 glGetFramebufferAttachmentParameteriv(target,attachment,pname,params)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetFramebufferAttachmentParameteriv() 的说明。

void QOpenGLFunctions::glGetIntegerv(GLenum pname, GLint *params)

一个便捷函数,用于调用 glGetIntegerv(pname,params)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetIntegerv() 的说明。

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

一个便捷函数,用于调用 glGetProgramInfoLog(program,bufsize,length,infolog)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetProgramInfoLog() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glGetProgramiv(program,pname,params)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetProgramiv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glGetRenderbufferParameteriv(target,pname,params)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetRenderbufferParameteriv() 的说明。

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

一个便捷函数,用于调用 glGetShaderInfoLog(shader,bufsize,length,infolog)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetShaderInfoLog() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glGetShaderPrecisionFormat(shadertype,precisiontype,range,precision)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glGetShaderPrecisionFormat() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glGetShaderSource(shader,bufsize,length,source)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetShaderSource() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glGetShaderiv(shader,pname,params)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glGetShaderiv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

const GLubyte *QOpenGLFunctions::glGetString(GLenum name)

一个调用 glGetString(name) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetString() 的说明。

void QOpenGLFunctions::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)

一个调用 glGetTexParameterfv(target,pname,params) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetTexParameterfv() 的说明。

void QOpenGLFunctions::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)

一个便捷函数,用于调用 glGetTexParameteriv(target,pname,params)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetTexParameteriv() 的说明。

GLint QOpenGLFunctions::glGetUniformLocation(GLuint program, const char *name)

一个便捷函数,用于调用 glGetUniformLocation(program,name)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glGetUniformLocation() 的说明。

在 OpenGL ES 1.x 系统上,此便利函数不会执行任何操作。

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

一个便捷函数,用于调用 glGetUniformfv(program,location,params)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetUniformfv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glGetUniformiv(program,location,params)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetUniformiv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glGetVertexAttribPointerv(index,pname,pointer)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glGetVertexAttribPointerv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glGetVertexAttribfv(index,pname,params)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glGetVertexAttribfv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glGetVertexAttribiv(index,pname,params)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中的glGetVertexAttribiv() 说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

void QOpenGLFunctions::glHint(GLenum target, GLenum mode)

一个便捷函数,用于调用 glHint(target,mode)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glHint() 的说明。

GLboolean QOpenGLFunctions::glIsBuffer(GLuint buffer)

一个调用 glIsBuffer(buffer) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glIsBuffer() 的说明。

GLboolean QOpenGLFunctions::glIsEnabled(GLenum cap)

一个调用 glIsEnabled(cap) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glIsEnabled() 的说明。

GLboolean QOpenGLFunctions::glIsFramebuffer(GLuint framebuffer)

一个调用 glIsFramebuffer(framebuffer) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glIsFramebuffer() 的说明。

GLboolean QOpenGLFunctions::glIsProgram(GLuint program)

一个便捷函数,用于调用 glIsProgram(program)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glIsProgram() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

GLboolean QOpenGLFunctions::glIsRenderbuffer(GLuint renderbuffer)

一个调用 glIsRenderbuffer(renderbuffer) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glIsRenderbuffer() 的说明。

GLboolean QOpenGLFunctions::glIsShader(GLuint shader)

一个调用 glIsShader(shader) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glIsShader() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

GLboolean QOpenGLFunctions::glIsTexture(GLuint texture)

一个调用 glIsTexture(texture) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glIsTexture() 的说明。

void QOpenGLFunctions::glLineWidth(GLfloat width)

一个调用 glLineWidth(width) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glLineWidth() 的说明。

void QOpenGLFunctions::glLinkProgram(GLuint program)

一个调用 glLinkProgram(program) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glLinkProgram() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

void QOpenGLFunctions::glPixelStorei(GLenum pname, GLint param)

一个便捷函数,用于调用 glPixelStorei(pname,param)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glPixelStorei() 的说明。

void QOpenGLFunctions::glPolygonOffset(GLfloat factor, GLfloat units)

一个便捷函数,用于调用 glPolygonOffset(factor,units)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glPolygonOffset() 的说明。

void QOpenGLFunctions::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)

一个便捷函数,用于调用 glReadPixels(x,y,width,height,format,type,pixels)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中的glReadPixels() 函数说明。

void QOpenGLFunctions::glReleaseShaderCompiler()

一个调用 glReleaseShaderCompiler() 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glReleaseShaderCompiler() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glRenderbufferStorage(target,internalformat,width,height)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glRenderbufferStorage() 的说明。

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

一个调用 glSampleCoverage(value,invert) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glSampleCoverage() 的说明。

void QOpenGLFunctions::glScissor(GLint x, GLint y, GLsizei width, GLsizei height)

一个便捷函数,用于调用 glScissor(x,y,width,height)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中的glScissor() 章节。

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

一个便捷函数,用于调用 glShaderBinary(n,shaders,binaryformat,binary,length)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glShaderBinary() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glShaderSource(shader,count,string,length)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glShaderSource() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

void QOpenGLFunctions::glStencilFunc(GLenum func, GLint ref, GLuint mask)

一个便捷函数,用于调用 glStencilFunc(func,ref,mask)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glStencilFunc() 的说明。

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

一个便捷函数,用于调用 glStencilFuncSeparate(face,func,ref,mask)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glStencilFuncSeparate() 的说明。

void QOpenGLFunctions::glStencilMask(GLuint mask)

一个调用 glStencilMask(mask) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glStencilMask() 的说明。

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

一个便捷函数,用于调用 glStencilMaskSeparate(face,mask)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glStencilMaskSeparate() 的说明。

void QOpenGLFunctions::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)

一个便捷函数,用于调用 glStencilOp(fail,zfail,zpass)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中的glStencilOp() 相关说明。

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

一个便捷函数,用于调用 glStencilOpSeparate(face,fail,zfail,zpass)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glStencilOpSeparate() 的说明。

void QOpenGLFunctions::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)

一个便捷函数,用于调用 glTexImage2D(target,level,internalformat,width,height,border,format,type,pixels)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glTexImage2D() 的说明。

void QOpenGLFunctions::glTexParameterf(GLenum target, GLenum pname, GLfloat param)

一个便捷函数,用于调用 glTexParameterf(target,pname,param)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glTexParameterf() 的说明。

void QOpenGLFunctions::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params)

一个便捷函数,用于调用 glTexParameterfv(target,pname,params)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glTexParameterfv() 的说明。

void QOpenGLFunctions::glTexParameteri(GLenum target, GLenum pname, GLint param)

一个便捷函数,用于调用 glTexParameteri(target,pname,param)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glTexParameteri() 的说明。

void QOpenGLFunctions::glTexParameteriv(GLenum target, GLenum pname, const GLint *params)

一个便捷函数,用于调用 glTexParameteriv(target,pname,params)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glTexParameteriv() 的说明。

void QOpenGLFunctions::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)

一个便捷函数,用于调用 glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glTexSubImage2D() 的说明。

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

一个便捷函数,用于调用 glUniform1f(location,x)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glUniform1f() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glUniform1fv(location,count,v)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glUniform1fv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glUniform1i(location,x)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glUniform1i() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glUniform1iv(location,count,v)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glUniform1iv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glUniform2f(location,x,y)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glUniform2f() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glUniform2fv(location,count,v)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glUniform2fv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glUniform2i(location,x,y)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glUniform2i() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glUniform2iv(location,count,v)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中的glUniform2iv() 说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个调用 glUniform3f(location,x,y,z) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glUniform3f() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glUniform3fv(location,count,v)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glUniform3fv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glUniform3i(location,x,y,z)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glUniform3i() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glUniform3iv(location,count,v)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glUniform3iv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glUniform4f(location,x,y,z,w)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glUniform4f() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glUniform4fv(location,count,v)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glUniform4fv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glUniform4i(location,x,y,z,w)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glUniform4i() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glUniform4iv(location,count,v)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glUniform4iv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个调用 glUniformMatrix2fv(location,count,transpose,value) 的便捷函数。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glUniformMatrix2fv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glUniformMatrix3fv(location,count,transpose,value)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glUniformMatrix3fv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glUniformMatrix4fv(location,count,transpose,value)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glUniformMatrix4fv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

void QOpenGLFunctions::glUseProgram(GLuint program)

一个调用 glUseProgram(program) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glUseProgram() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

void QOpenGLFunctions::glValidateProgram(GLuint program)

一个便捷函数,用于调用 glValidateProgram(program)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glValidateProgram() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glVertexAttrib1f(indx,x)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glVertexAttrib1f() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

void QOpenGLFunctions::glVertexAttrib1fv(GLuint indx, const GLfloat *values)

一个调用 glVertexAttrib1fv(indx,values) 的便捷函数。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glVertexAttrib1fv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glVertexAttrib2f(indx,x,y)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glVertexAttrib2f() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

void QOpenGLFunctions::glVertexAttrib2fv(GLuint indx, const GLfloat *values)

一个调用 glVertexAttrib2fv(indx,values) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glVertexAttrib2fv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glVertexAttrib3f(indx,x,y,z)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glVertexAttrib3f() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

void QOpenGLFunctions::glVertexAttrib3fv(GLuint indx, const GLfloat *values)

一个调用 glVertexAttrib3fv(indx,values) 的便捷函数。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glVertexAttrib3fv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数不会执行任何操作。

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

一个便捷函数,用于调用 glVertexAttrib4f(indx,x,y,z,w)。

有关详细信息,请参阅 OpenGL ES 3.X 文档中关于glVertexAttrib4f() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

void QOpenGLFunctions::glVertexAttrib4fv(GLuint indx, const GLfloat *values)

一个调用 glVertexAttrib4fv(indx,values) 的便捷函数。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glVertexAttrib4fv() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

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

一个便捷函数,用于调用 glVertexAttribPointer(indx,size,type,normalized,stride,ptr)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glVertexAttribPointer() 的说明。

在 OpenGL ES 1.x 系统上,此便捷函数将不执行任何操作。

void QOpenGLFunctions::glViewport(GLint x, GLint y, GLsizei width, GLsizei height)

一个便捷函数,用于调用 glViewport(x,y,width,height)。

有关更多信息,请参阅 OpenGL ES 3.X 文档中关于glViewport() 的说明。

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

如果该系统的 OpenGL 实现中包含 `feature `,则返回 `true `;否则返回 `false`。

假设与该函数解析器关联的 `QOpenGLContext ` 为最新版本。

另请参阅 openGLFeatures()。

void QOpenGLFunctions::initializeOpenGLFunctions()

为当前上下文初始化 OpenGL 函数解析。

调用此函数后,QOpenGLFunctions 对象只能与当前上下文及其共享上下文的对象一起使用。若要更改该对象与上下文的关联,请再次调用initializeOpenGLFunctions()。

QOpenGLFunctions::OpenGLFeatures QOpenGLFunctions::openGLFeatures() const

返回该系统 OpenGL 实现中支持的功能集合。

假设与该函数解析器关联的QOpenGLContext 是最新的。

另请参阅 hasOpenGLFeature()。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.