OpenGL两个屏幕

时间:2018-06-03 09:36:14

标签: c++ visual-studio opengl graphics glfw

我对OpenGL双屏模式有一个问题,这意味着当我启动程序时,我有一个黑屏,用于错误结束前哨文本,我的OpenGL图形。当我运行程序并仅显示图形时,有没有办法取消这个黑屏?

我的展示类:

#include <../GL/glew.h>
#include <iostream>
#include "display.h"

bool Display::toClose()
{
    return glfwWindowShouldClose(m_window);
}

void Display::pullEvent()
{
    glfwPollEvents();
    }

    Display::Display(int width, int height, const std::string& title)
    {
        /* Initialize the library */
        if (!glfwInit())
        error =  -1;

    m_window = glfwCreateWindow(640, 480, title.c_str(), NULL, NULL);
    if(!m_window)
    {
        glfwTerminate();
        error = -1;
    }
    glfwMakeContextCurrent(m_window);

    GLenum res = glewInit();
    if(res != GLEW_OK)
   {
        std::cerr << "Glew failed to initialize!" << std::endl;
    }

    glEnable(GL_DEPTH_TEST);
}

Display::~Display()
{
    glfwDestroyWindow(m_window);
    glfwTerminate();
}

void Display::Clear(float r, float g, float b, float a)
{
    glClearColor(r, g, b, a);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
}

void Display::SwapBuffers()
{
    glfwSwapBuffers(m_window);
}

the two screens

1 个答案:

答案 0 :(得分:1)

您需要在属性&gt;中更改子系统链接器&gt;系统为Windows,如this imagesource)所示。

执行此操作时,您必须按照here所述将main功能更改为WinMain功能。