OpenGL-第一个程序-基于GLFW、GL3W

2019-06-15 15:58:40 浏览数 (1)

环境配置教程-> https://blog.csdn.net/jiuzaizuotian2014/article/details/82915917 配置glfw库,这是一个抽象化窗口管理和其他系统任务的开发库。gl3w提供所有OpenGL函数的王文支持,并且不把平台相关工作暴露给用户

跟随者OpenGL的编程指南,我将书中的例子进行一一实现来学习OpenGL,这是一个探索的过程,第一次上手中间可能会有很多,也这是成长道路上的必经之路。 以下是我们要实现的第一个程序:

代码语言:javascript复制
int main(void)
{
    GLFWwindow* window;

    /* Initialize the library */
    if (!glfwInit())
        return -1;

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(window);

    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
        glClear(GL_COLOR_BUFFER_BIT);

        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* Poll for and process events */
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

在使用glfw中的Function之前,我们需要调用glfwInit方法对glfw库进行初始化。 调用glfwCreateWindow创建一个渲染窗口以及一个新的OpenGL环境,用来执行渲染命令。 glfwMakeContextCurrent设置窗口中关联的环境为当前环境。 glfwWindowShouldClose,判断用户程序是否准备退出。 glfwSwapBuffers(window);方法对窗口关联的back buffer环面呈现给用户。 glfwPollEvents();GLFW检查所有等待处理的事件和消息,如果消息正在等待,先处理这些消息再返回;否则该函数会立即返回。

0 人点赞