2013-11-28 4 views
0

Я использую openGL/GLUT, просто пытаясь нарисовать примитив и использовать gluLookAt() для перемещения камеры. У меня проблемы, и я просто вижу черный. Вот мой код для функции рендеринга.gluLookAt ничего не отображается

glMatrixMode(GL_MODELVIEW); 
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
glLoadIdentity(); 

gluLookAt(Player.GetX(), Player.GetY(), Player.GetZ()-5, 
      Player.GetX(), Player.GetY(), Player.GetZ(), 
      0,1,0); 



glPushMatrix(); 

glBegin(GL_TRIANGLES); //Begin coordinates 


glVertex3f(Player.GetX()-0.5f, Player.GetY()-1.0f, Player.GetZ()); 
glVertex3f(Player.GetX()+0.5f, Player.GetY()-1.0f, Player.GetZ()); 
glVertex3f(Player.GetX()-0.0f, Player.GetY()-0.0f, Player.GetZ()); 

glEnd(); //End quadrilateral coordinates 

glPopMatrix(); 

glutSwapBuffers(); 

Player.GetXYZ() значения всех 0,0

+1

Как только вы преодолеете это, сделайте себе одолжение и перейдите прямо к OpenGL 3.0+. [Вот почему] (http://stackoverflow.com/questions/3492729/whats-so-different-about-opengl-3-x). [Вот как] (http://stackoverflow.com/questions/9293817/resources-to-learn-opengl-3-x). – Domi

+1

Похоже, что ваш глаз за пределами вашего треугольника. Попробуйте +5 на третьем arg. – bvj

+0

да только что получил:/спасибо! Хорошо, поэтому я попробую конвертировать в OpenGL 3.0, прежде чем я буду слишком глубоко благодарен за помощь. –

ответ

1

Есть много основных причин, почему треугольники отсутствуют. Первое, что вы хотите проверить, это буфер глубины, чтобы убедиться, что это не проблема освещения. Многие вещи могут помешать появлению треугольника в буфере глубины.

Убедитесь, что вы прочитали Avoiding 16 Common OpenGL Pitfalls. Если вы не знаете самых основных ошибок, вы не сможете правильно отладить ваш графический конвейер.

Если вы не включили освещение, вы хотите, чтобы обратить особое внимание на эти:

  1. треугольник отсечение: Убедитесь, ваш игрок находится в нужном месте, глядя в правильном направлении.
  2. Цвет треугольника: вы не назначаете цвет. Я думаю, что OpenGL по умолчанию черный.

Если у вас есть освещение с поддержкой:

  1. Проверьте ваши нормалей.
  2. Проверьте свой режим отбраковки. Back-face culling - OpenGL по умолчанию.
+0

Вспомните, я могу получить треугольник, чтобы появиться без gluLookAt() Я просто хотел добавить движение камеры. –

Смежные вопросы