OpenGL 使用GLFW创建全屏窗口

OpenGL 使用GLFW创建全屏窗口

GLFW库里面的glfwCreateWindow()函数是用来创建窗口的函数。
这样函数的原型是:

GLFWwindow* glfwCreateWindow(int width, int height, const char * title, GLFWmonitor * monitor, GLFWwindow * share);

介绍glfwCreateWindow()函数的使用方法

程序

    bool isFullScreen = true;
    GLFWmonitor* pMonitor = isFullScreen ? glfwGetPrimaryMonitor() : NULL;
    GLFWwindow* window = glfwCreateWindow(WIDTH, HEIGHT, "Holographic projection", pMonitor, NULL);
    //GLFWwindow* window = glfwCreateWindow(WIDTH, HEIGHT, "Holographic projection", nullptr, nullptr);
    // Define the viewport dimensions
    //glViewport(0, 0, WIDTH, HEIGHT);
    glViewport(0, 0, Screen_Width, Screen_Height);

OpenGL GLFW 指定屏幕 全屏显示

程序

     bool isFullScreen = true;
     int monitorCount;
    //GLFWmonitor* pMonitor = isFullScreen ? glfwGetPrimaryMonitor() : NULL;
    GLFWmonitor** pMonitor = isFullScreen ? glfwGetMonitors(&monitorCount) : NULL;

    std::cout << "Screen number is " << monitorCount << std::endl;
    //GLFWmonitor** pM = pMonitor;
    int holographic_screen = -1;
    for(int i=0; i<monitorCount; i++){
        int screen_x, screen_y;
        const GLFWvidmode * mode = glfwGetVideoMode(pMonitor[i]);
        screen_x = mode->width;
        screen_y = mode->height;
        std::cout << "Screen size is X = " << screen_x << ", Y = " << screen_y << std::endl;
        if(screen_x==1920 && screen_y==1080){
            holographic_screen = i;
        }
    }
    std::cout << holographic_screen << std::endl;

    GLFWwindow* window = glfwCreateWindow(screenWidth, screenWidth, "Holographic projection", pMonitor[holographic_screen], NULL);
    // Define the viewport dimensions
    //glViewport(0, 0, WIDTH, HEIGHT);
    glViewport(0, 0, Screen_Width, Screen_Height);

参考网站:
http://wiki.jikexueyuan.com/project/modern-opengl-tutorial/tutorial44.html
http://www.glfw.org/docs/latest/group__monitor.html
http://gamedev.stackexchange.com/questions/60244/how-to-find-monitor-resolution-with-glfw3
http://geistyp.weebly.com/tech-life/080-glfw

原文地址:https://www.cnblogs.com/aobosir/p/5928653.html