OpenGL,GLUT,GLEW - 窗口始终为空白

时间:2018-05-18 14:47:04

标签: c++ visual-studio opengl glut glew

我正在使用 Dell XPS 9550,x64 Windows 10 。显卡 GeForce GTX 960M 。使用 Visual Studio 2017 C ++

使用GLUT和GLEW的OpenGL在GLFW工作正常时不起作用。

我一直在使用OpenGL,所以我很确定我正确地链接了头文件,lib和dll。

另外,我在其他计算机上测试了完全相同的项目,并且工作正常,没有任何问题。

所以我想知道图形卡可能存在一些兼容性问题?有人有任何想法吗?

它应该像这样渲染(桌面Windows 10 x64,GTX 1050 ): enter image description here

但是在戴尔XPS 9550(GeForce GTX 960M)上,会出现空白窗口: enter image description here

我使用的代码是:

#include <Windows.h>
#include <iostream>
#include <GL/glew.h>
#include <GL/glut.h>

#include <glm/glm.hpp>
#include <gl/glut.h>
#include <gl/gl.h>

#define WINDOW_WIDTH 320
#define WINDOW_HEIGHT 240

void display();
void init();

int main(int argc, char* argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize(WINDOW_WIDTH, WINDOW_HEIGHT);
    glutCreateWindow("Main Window");
    init();
    glutDisplayFunc(display);
    glutMainLoop();

    return 0;
}

void init()
{
    glClearColor(1, 0, 0, 0);
    glDisable(GL_DEPTH_TEST);

    // next four lines are new
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(0.0, WINDOW_WIDTH - 1, WINDOW_HEIGHT - 1, 0, -1.0, 1.0);
    glMatrixMode(GL_MODELVIEW);
}

void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();

    glBegin(GL_QUADS);
    glColor3ub(255, 255, 255);
    glVertex2f(10, 10);
    glVertex2f(100, 10);
    glVertex2f(100, 100);
    glVertex2f(10, 100);
    glEnd();

    glutSwapBuffers();
}

0 个答案:

没有答案