2016-12-14 8 views
0

私は512x512のウィンドウを持っていて、262144(つまり512 * 512)の2Dポイントを生成し、glVertex2fを使って表示しています。ポイントは、(-2、-2)〜(2,2)の範囲内で均等に配置されます。しばらくすると、(-1、-1)〜(1,1)のような異なる範囲の262144点の異なるセットを生成しています。私はglOrthoを(0,512,0,512,0,512)として定義します。第2の点の行列はウィンドウの半分を占め、第1の行列はウィンドウ全体を占める。 2番目の行列をgluLookAtを変更せずに、または異なる回転、平行移動、またはglOrthoを指定せずにウィンドウ全体を占有するにはどうすればよいですか? (それはズームのような本質的だが、異なる値を再プロットし、私は全体のウィンドウに合わせて、新しい値を必要とする)OpenGL - ポイントの配列を表示

+0

希望の範囲で座標を指定することによって?あなたはどんな種類の魔法を期待しているのか分かりません。 –

答えて

4

どのように私はポイントの第2のマトリックスはまた、gluLookAtを変更したり、異なる指定せずにウィンドウ全体を占めて作るのですか回転、翻訳、またはglOrtho?

これはまさにそのようです。プロジェクションまたはモデルビューのマトリックスを「一度」に設定することは期待されていません。これらの行列を必要に応じて頻繁に変更する必要があります。

OpenGLは図面 APIです。 OpenGLをそうでないものとして扱ってはいけません(シーングラフ、3Dモデル表示子など)。一日の終わりに、OpenGLは点、線、または三角形を描画し、いくつかの変形を適用します。また、必要に応じて、特定の描画ステップで選択的に変換を変更することは、受け入れられるだけでなく、作業を行う方法です。