私はJavaでLWJGLライブラリとOpenGLを使用しています。私が理解しているように、glFrustumを使って上、下、左、右、近、遠の座標を設定し、glViewportを使ってこれらの座標を画面に関連付けることができます。これは正しいですか? 私が読んだことは何も言及していないので、私はこれを仮定しています。これは、正射影モードを使用していたときの動作です。私の質問に拡大すること 、私は(C構文で)このようOpenGLでCoordinatesシステムを設定する
それは-100 ----- 0 ----- 100の座標系を持つことは可能である方法glFrustum(-100, 100, -100, 100, -100, 100);
glViewport(0, 0, 800, 600); // the screen size is 800 by 600
. . .
glBegin(GL_QUADS); //draw a rectangle
glVertex2f(-0.25f, -0.25f);
glVertex2f(0.25f, -0.25f);
glVertex2f(0.25f, 0.25f);
glVertex2f(-0.25f, 0.25f);
glEnd();
を自分のアプリケーションを設定しますx軸とy軸で、私が供給した座標に10を掛けたような大きさの矩形が得られますか?私はそれを理解したよう
Hmm; ['glFrustum'](http://www.opengl.org/sdk/docs/man/xhtml/glFrustum.xml)は何も変更せず、エラーを生成すべきです。クワッドはxとyの両方の画面のちょうど4分の1を含んでいます。 –
あなたの答えは非常に便利で、私の理解に追加されましたが、頂点の座標をどのように向けるのですか?例えば、どのように座標5,5,5がどこにあるのか分かりますか? – lilroo
@lilroo:それはあなたのモデルビューと投影行列とビューポートによって異なります。詳しくはこちらをご覧ください:http://www.opengl.org/wiki/Viewing_and_Transformations – datenwolf