2016-05-28 4 views
0

私は、カメラの視点から遠ざかるようにZを使ってXY平面を見ているシーンを作ろうとしています。私は、私の顔の前にあるオブジェクトとは異なるサイズのオブジェクトを見たいので、私はgluPerspectiveを使ってこれを使うと思います。私は原点から来る私の画面上のいくつかの軸を持っている必要がありますが、私は全く何も表示されません。私は翻訳の束と一緒に働いていましたが、私はこれを正しく操作する方法を理解しておきたいと思います。OpenGLシーンのセンタリングの問題

void resizeWindow(GLint newWidth, GLint newHeight) 
{ 
    glViewport(0, 0, newWidth, newHeight); 
    glMatrixMode(GL_PROJECTION); 
    glLoadIdentity(); 
    gluPerspective(60.0f, (GLfloat)newWidth/(GLfloat)newHeight, 0.1f, 100.0f); 
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
    glMatrixMode(GL_MODELVIEW); 
    glLoadIdentity(); 
    gluLookAt(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); 
} 

glPushMatrix(); 
glColor4ub(0, 120, 20, 255); 
glBegin(GL_LINE_STRIP); 
glVertex3f(0.0f, 0.0f, 0.0f); 
glVertex3f(3.0f, 0.0f, 0.0f); 
glVertex3f(2.85f, 0.10f, 0.0f); 
glVertex3f(2.85f, -0.10f, 0.0f); 
glVertex3f(3.0f, 0.0f, 0.0f); 
glVertex3f(2.85f, 0.0f, 0.10f); 
glVertex3f(2.85f, 0.0f, -0.10f); 
glVertex3f(3.0f, 0.0f, 0.0f); 
glEnd(); 
glBegin(GL_LINE_STRIP); 
glVertex3f(0.0f, 0.0f, 0.0f); 
glVertex3f(0.0f, 3.0f, 0.0f); 
glVertex3f(0.0f, 2.85f, 0.10f); 
glVertex3f(0.0f, 2.85f, -0.10f); 
glVertex3f(0.0f, 3.0f, 0.0f); 
glVertex3f(0.10f, 2.85f, 0.0f); 
glVertex3f(-0.10f, 2.85f, 0.0f); 
glVertex3f(0.0f, 3.0f, 0.0f); 
glEnd(); 
glBegin(GL_LINE_STRIP); 
glVertex3f(0.0f, 0.0f, 0.0f); 
glVertex3f(0.0f, 0.0f, 3.0f); 
glVertex3f(0.10f, 0.0f, 2.85f); 
glVertex3f(-0.10f, 0.0f, 2.85f); 
glVertex3f(0.0f, 0.0f, 3.0f); 
glVertex3f(0.0f, 0.10f, 2.85f); 
glVertex3f(0.0f, -0.10f, 2.85f); 
glVertex3f(0.0f, 0.0f, 3.0f); 
glEnd(); 

答えて

0

コードを実行しようとしませんでしたが、一目から:

  • はglPushMatrixを取り外します()。
  • "目の"座標(0.0、0.0、-1.0)は、軸が3.0単位の長さであるため、元の座標に近すぎるようです。試してみてください(0.0、0.0、-20.0)程度です。
+0

私は少なくとも行頭を表示してはいけませんか? –

関連する問題