私はOpenGLで4分割ビューアを開発しています。 1つのビューは斜視図であり、他のビューは正面投影(前面、左上、上)です。glOrtho()ビューで立方体を描く?
キューブを(-1、-1、-1)から(1,1,1)に描画する方法を書いていますが、パースビューではうまく機能しますが、 glOrtho(...)を使う私の意見。
は今、私はこのようにそれを設定します。
glOrtho(0, width, height, 0, 0, 1);
面白いことは、ビューがすべてでキューブを示さないこと、です。私はOpenGLのビューの境界線を実装しましたが、これは正しく表示されます。
私はQtを使用しており、QGLWidgetの派生クラスを作成しました。
あなたのビューポートも幅単位で、幅と高さは、正方形のビューで2ピクセル幅になるようにするスクリーン座標(たとえば800x600)です。また、遠くのクリッピングプレーンは0と1であり、目の位置に応じてキューブをクリップします。 – vmpstr
意味があります。 ;)したがって、正方形のビューのみを拡大するためにglScaleを使用するか、より巧妙な方法がありますか? – fuji
@ j.dog:通常、投影空間のボリュームに設定されている制限を、オブジェクトのものと一致するように選択します。 glOrtho(-aspect、aspect、-1、-1、-1)のような立方体の場合、aspect = viewport_width/viewport_height – datenwolf