zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    正则表达式之re模块
    collections模块
    openpyxl模块
    hashlib模块
    random模块
    os模块
    sys模块
    nodeType
    数据类型转换
    添加删除
  • 原文地址:https://www.cnblogs.com/aobosir/p/5928653.html
Copyright © 2011-2022 走看看