2012-04-13 19 views
0

gluPerspectiveメソッドで作成された視錐台内にどの座標が表示されるかを定義する方法はありますか?私のクワッドは表示されません。 これは初期化コードである:視錐台内の座標

GL11.glMatrixMode(GL11.GL_PROJECTION); 
GL11.glLoadIdentity(); 
GLU.gluPerspective(45, width/height, 1, 100); 
GL11.glMatrixMode(GL11.GL_MODELVIEW); 
GL11.glViewport(0, 0, 800, 600); 
GL11.glClearColor(1, 1, 1, 1); 

これはレンダリングコードである:

GL11.glLoadIdentity(); 
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT); 
GL11.glColor3f(0, 0, 0); 

GL11.glBegin(GL11.GL_QUADS); 

GL11.glVertex3f(1, 1, 5); 
GL11.glVertex3f(10, 1, 5); 
GL11.glVertex3f(10, 10, 5); 
GL11.glVertex3f(1, 10, 5); 

GL11.glEnd(); 

答えて

2

これは初期化コードである:

これは初期化コードではなく、この状態の設定。これはレンダリングコードに属します。投影行列を設定する前に、glViewport、glClearColor、glClearDepthを置くのは慣用的です(ただし必須ではありません)。

あなたのクワッドは表示限界外にあるため、おそらく表示されません。近くの平面では、gluPerspectiveの限界は

aspect = width/height 
fov_ = atan2(fov) 
right = near * aspect * fov_ 
left = -right 
top = near * fov_ 
bottom = -top 
です
関連する問題