OpenGL API函数
1. glActiveShaderProgram 设置活动的管线程序
函数原型
void glActiveShaderProgram(GLuint pipeline, GLuint program);
参数
pipeline
指定要为其设置活动程序对象的程序管道对象。
program
指定要设置为活动程序管道对象管道的程序对象。
描述
glActiveShaderProgram将程序命名的链接程序设置为程序管道对象管道的活动程序。当没有程序通过调用glUseProgram而成为当前程序时,活动程序管道对象中的活动程序是调用glUniform的目标。
错误
GL_INVALID_OPERATION: 如果管道不是以前从glGenProgramPipelines调用中返回的名称,或者如果这样的名称已被glDeleteProgramPipeline调用删除,则生成GL_INVALID_OPERATION。
GL_INVALID_OPERATION: 如果程序引用尚未成功链接的程序对象,则生成GL_INVALID_OPERATION。
兼容版本
2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
---|---|---|---|---|---|---|---|---|---|---|---|
- | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ |
2. glActiveTexture 激活纹理单元
函数原型
void glActiveTexture(GLenum texture);
参数
texture
指定要激活的纹理单元。纹理单元的数量取决于实现,但必须至少为80个。纹理必须是GL_TEXTUREi之一,其中i的范围从零到GL_MAX_COMBINED_EXTURE_IMAGE_UNITS的值减一。初始值为GL_TEXTURE0。
描述
glActiveTexture选择后续纹理状态调用将影响哪个纹理单元。实现支持的纹理单元数量取决于实现,但必须至少为80个。
错误
GL_INVALID_ENUM: 如果纹理不是GL_TEXTUREi之一,则生成GL_INVALID_ENUM,其中i的范围从零到GL_MAX_COMBINED_EXTURE_IMAGE_UNITS的值减一。
兼容版本
2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
---|---|---|---|---|---|---|---|---|---|---|---|
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |