我对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);
}
答案 0 :(得分:1)
您需要在属性&gt;中更改子系统链接器&gt;系统为Windows
,如this image(source)所示。
执行此操作时,您必须按照here所述将 main
功能更改为WinMain
功能。