我正在使用Visual Studio 2008在Windows中开发C ++ OpenGL代码。我无法理解为什么整数函数都不起作用。我会尝试使用glVertex2i(2,2),但我得到的只是一个黑屏,我也用glrecti尝试了这个,但我得到了相同的结果。
当我使用浮点函数时,它们可以工作。 glVertex2f(.5,.5)和glRectf(1,2,3,4)工作正常。我无法弄清楚出了什么问题,我错过了什么。人们之前显然已经使用过glVertex2i并且让它工作了。
我一直在努力的简单代码是:
#include <windows.h>
#include <gl/gl.h>
#include <gl/glu.h>
#include <gl/glut.h>
void draw(){
glClearColor(0,0,0,1);
glClear( GL_COLOR_BUFFER_BIT );
glColor3f(1, 1, 1);
glBegin(GL_LINES);
glVertex2i(100,100);
glVertex2i(200,200);
glEnd();
glFlush();
}
int main(int argc, char** argv){
glutInit(&argc, argv);
glutInitWindowSize(600, 600);
glutCreateWindow("My first OpenGL program");
glutDisplayFunc(draw);
glutMainLoop();
}
答案 0 :(得分:4)
您的代码未设置任何投影矩阵,因此在[-1,1]之外传递值将在视口外部绘制。这就是整数函数“不起作用”的原因。