我目前正在使用 OGL 2.1,在着色器创建过程中,如果编译着色器或链接程序失败,我想创建一个错误过程,输入是程序或着色器对象以打印消息:
void err(GLuint object)
{
char *errMsg;
int errLen, errRetrieved;
if (object is program) {
glGetProgramiv(object, GL_INFO_LOG_LENGTH, &errLen);
...
} else {
glGetShaderiv(object, GL_INFO_LOG_LENGTH, &errLen);
...
}
cout << errMsg << endl;
...
}
但是如何确定对象是程序对象还是着色器对象?