OpenGL, GLUT, GLEW - окно всегда пустое белое - PullRequest
0 голосов
/ 18 мая 2018

Я использую Dell XPS 9550, x64 Windows 10 .с видеокартой GeForce GTX 960M .использование Visual Studio 2017 C ++

OpenGL с использованием GLUT и GLEW не работает, в то время как с GLFW все работает.

Я уже некоторое время использую OpenGL, поэтому яЯ уверен, что правильно связал заголовочные файлы, libs и dll.

Кроме того, я протестировал точно такой же проект на другом компьютере и работал без проблем.

Так что мне было интересно, может быть, тамСуществуют ли какие-либо проблемы совместимости с графической картой?У кого-нибудь есть идеи?

Это должно выглядеть так ( Рабочий стол Windows 10 x64, GTX 1050 ): enter image description here

Но включен Dell 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();
}
...