Почему ни один из целочисленных методов не работает для OpenGL? - PullRequest
0 голосов
/ 08 января 2011

Я разрабатываю код C ++ OpenGL в Windows с использованием Visual Studio 2008. Не могу понять, почему ни одна из целочисленных функций не работает. Я попробую использовать 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 Ответ

4 голосов
/ 08 января 2011

Ваш код не устанавливает матриц проекции, поэтому передача значений за пределы [-1, 1] выводится за пределы области просмотра.Вот почему целочисленные функции «не работают».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...