私は現在、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;
...
}
しかし、オブジェクトがプログラム オブジェクトかシェーダー オブジェクトかを判断するにはどうすればよいでしょうか?