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();
4

1 に答える 1

2

これは初期化コードです:

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

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

aspect = width/height
fov_ = atan2(fov)
right = near * aspect * fov_
left = -right
top = near * fov_
bottom = -top
于 2012-04-13T16:11:37.790 に答える