2
我正在關注來自openglbook.com的openGL教程,並試圖在請求OpenGL上下文在計算機上不可用時模擬場景。我的筆記本電腦的opengl視頻驅動程序版本是3.0,我要求3.3。目標是從錯誤中正常恢復。下面是代碼:處理GLUT函數中的異常的最佳實踐
glutInitContextVersion(3, 3);
glutInitContextFlags(GLUT_FORWARD_COMPATIBLE);
glutInitContextProfile(GLUT_CORE_PROFILE);
glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE,GLUT_ACTION_GLUTMAINLOOP_RETURNS);
glutInitWindowSize(CurrentWidth, CurrentHeight);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
WindowHandle = glutCreateWindow(WINDOW_TITLE_PREFIX);
if (WindowHandle < 1) {
fprintf(
stderr,
"ERROR: Could not create a new rendering window.\n"
);
return -1;
}
我的問題是就行了我的程序中斷:
WindowHandle = glutCreateWindow(WINDOW_TITLE_PREFIX);
,我甚至不能檢查返回代碼,因爲它似乎glutCreateWindow()簡單地退出()在它自己。在C中處理這些類型的情況的最佳方式是什麼?
你試過['glGetError'(HTTP:// 'glutInitContextVersion(3,3)'後的www.opengl.org/sdk/docs/man/xhtml/glGetError.xml);'?我無法在glutInitContextVersion上找到任何文檔,並且glut過早,所以我不確定檢查它提供了什麼樣的錯誤。看起來你應該比你早一些檢查結果。 – Hydronium