我爲OpenGL(GLEW)應用程序創建了一個窗口,該應用程序當前繪製並更新標準彩色立方體(立即模式)。我遇到的問題是在哪裏調用initialize()
函數,因爲我試圖使用着色器。Win32中,我在哪裏調用OpenGL的initialize()函數?
int szWindow::WinLoop(MSG msg)
{
while (isRunning)
{
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if (msg.message == WM_QUIT)
break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
// Application loop here
renderClass->Update();
renderClass->Render();
SwapBuffers(hDC);
}
}
return 0;
}
GLEW和OpenGL是兩個獨立的東西,前者嚴重依賴後者。在創建一個有效的上下文之前,你不能調用'glewInit()'*,因爲'GLEW'使用GL函數,只會在沒有有效上下文的情況下使應用程序崩潰。另外,我不確定你說的是什麼'initialize()'函數。你能澄清一下嗎? – thokra