只要按照規範,GL是跨平臺:
char const* gl_error_string(GLenum const err) noexcept
{
switch (err)
{
// opengl 2 errors (8)
case GL_NO_ERROR:
return "GL_NO_ERROR";
case GL_INVALID_ENUM:
return "GL_INVALID_ENUM";
case GL_INVALID_VALUE:
return "GL_INVALID_VALUE";
case GL_INVALID_OPERATION:
return "GL_INVALID_OPERATION";
case GL_STACK_OVERFLOW:
return "GL_STACK_OVERFLOW";
case GL_STACK_UNDERFLOW:
return "GL_STACK_UNDERFLOW";
case GL_OUT_OF_MEMORY:
return "GL_OUT_OF_MEMORY";
case GL_TABLE_TOO_LARGE:
return "GL_TABLE_TOO_LARGE";
// opengl 3 errors (1)
case GL_INVALID_FRAMEBUFFER_OPERATION:
return "GL_INVALID_FRAMEBUFFER_OPERATION";
// gles 2, 3 and gl 4 error are handled by the switch above
default:
assert(!"unknown error");
return nullptr;
}
}
什麼有關EGL(沒有做手工)? –
我不認爲有任何與EGL afaik的GLU庫類似的東西,您可能必須手動執行此操作。但是,再次,只有一些錯誤需要處理。 –
我想是這樣。是的,我也必須手動執行Android,因爲gluGetError()沒有公開。我確實最終找到了這個:https://code.google.com/p/glues/ –