首页 > 解决方案 > 如何使用glfw居中opengl窗口?

问题描述

我想在屏幕中央画一个opengl窗口,但是我到处搜索,但没有找到任何答案。下面是创建窗口的常用代码段,但它总是显示在最左上角位置。我该如何控制它。

int main()
{
    glfwInit();
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR,3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR,3);
    glfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE);

    GLFWwindow* window = glfwCreateWindow(400,200,"LearnOpenGl",NULL,NULL);
    if(window == NULL)
    {
        cout<<"Failed to create GLFW window!!"<<endl;
        glfwTerminate();
        return -1;
    }

    glfwMakeContextCurrent(window);

    if(!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
    {
        cout<<"Failed to initialize GLAD!!"<<endl;
        return -1;
    }

    glViewport(400, 400, 100, 200);

    glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);

    while(!glfwWindowShouldClose(window))
    {
        glfwSwapBuffers(window);
        glfwPollEvents();
    }

}

标签: c++openglwindowglfw

解决方案


请使用此功能“ glfwSetWindowPos ”。

这是一个例子


推荐阅读