为什么没有任何整数方法适用于OpenGL?

时间:2011-01-08 04:12:30

标签: c++ visual-studio-2008 opengl

我正在使用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();
}

1 个答案:

答案 0 :(得分:4)

您的代码未设置任何投影矩阵,因此在[-1,1]之外传递值将在视口外部绘制。这就是整数函数“不起作用”的原因。