私の質問はコンピュータグラフィックス分野では非常に基本的ですが、何とか答えが見つかりませんでした。パイプラインと3D変換の表示
プロローグ:
私はキャンバス上でポリゴンを出力するプログラムを書きたい、と私は、ユーザーがポリゴンで再生できるようしたいのですが - X/Yの周り(スケール変換し、回転/ z軸)。
Java AWTのみを使用する必要があります。 JOGL(JavaのOpenGL用ライブラリ)ではありません。
3Dの世界はベクトルとウィンドウサイズまで、ポイントを見て、プログラムへの入力ファイル、ならびにそのようなカメラの座標として「カメラ」プロパティを介したとして座標として私が使用(ポリゴンを受け取ります3dから2dへの投影)。
最初の質問:
私の最初の問題は見パイプラインを記述することですので、3Dの世界coordinatsが2D座標上にそれを投影し、その後、閲覧座標(カメラ座標)に変換しますし、クリッピングを実行してパースペクティブを作成します。私は無数のビデオや方法を見てきましたが、私は最終的な行列を決定することができません。
2番目の質問:
私の第二の問題は、3D変換行列を適用するには、です。 変換を元のワールド座標に適用してから(もちろん、ビューイングパイプラインを継続して)、直接座標を表示する(そしてそのポイントからパイプラインを続ける)必要がありますか?
説明のために、各ユーザー変換で再計算されたA→B→C→Dの表示パイプラインを示し、ユーザーが開始した変換(上記のいずれかになり得る)をT.
私の関心事は、T A→B→C→DかA→T B→C→Dかどうかです。
ヘルパーに感謝します。あなたは通常、頂点から行く
pingulの回答と私のコメントに従ってください。通常、 'reshape'メソッドでは、投影行列と' glViewport'を計算(アップロード)します。 'display'の開始時に代わりに行列を表示し、i番目のモデルのレンダリングの開始時に各モデルのモデル行列を表示します。 – elect