我正在使用 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 ):
但是在戴尔XPS 9550(GeForce GTX 960M)上,会出现空白窗口:
我使用的代码是:
#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();
}