我在哪里调用Win32中的OpenGL initialize()函数?

时间:2013-10-30 01:15:01

标签: c++ opengl glew

我为 OpenGL(GLEW)应用程序创建了一个窗口,该窗口当前绘制并更新标准彩色多维数据集(立即模式)。我遇到的问题是在哪里调用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;
}

1 个答案:

答案 0 :(得分:-1)

我认为这不是最好的开始方式。我建议使用GLFW。您无需关心打开OpenGL上下文。但如果您真的想亲自去做,请从OpenGL Wiki开始。

关于GLEW,没有秘密:glewInit()

请记住,对于Windows中的OpenGL,您必须打开GL上下文(使用GLFW或自己)并加载OpenGL扩展(使用GLEW或您自己)。

<强>更新

根据thokra的建议,我更新了这个答案以防其他人需要它。我的第一个建议是使用NeHe打开上下文,但事实上,OpenGL Wiki对于现代OpenGL来说要好得多。