2010-12-13 3 views
3

私は、多くの3Dオブジェクトと「プレーヤー」モデルを持つオープンGL ES(1.1)シーンを持っています。 Androidの電話機やiPhoneの画面の向きに関係なく、同じピクセルサイズを使用したいと考えています。 私はではありません glOrthoまたは掲示板を使用しています。これは視点の3Dシーンですが、私はオブジェクトが両方の画面方向で同じサイズになるようにしたいと思います。現在、電話機を回転させると、同じアスペクト比が維持されますが、シーンはランドスケープモードで「ズームアウト」します。 私はこれを得るためにglFrustrumのパラメータを使って遊ぶ必要があると思います。まだそれを行う方法を把握することはできません。 どのようなアイデアも大歓迎です!OpenGL ES:オブジェクトの固定サイズを取得する

おかげ

答えて

0

あなたは、デバイスがそれ以外の場合は、オブジェクトのサイズを変更しようとしているから行くようになっている場合、アスペクト比を変更する必要があります。ウィンドウの向こう側にあるオブジェクトは、窓からの距離を変えないと(つまり、zooomの出入り)、「回す」ときにウィンドウの向こう側にあるオブジェクトは同じサイズになりますウィンドウが横向きになると、ウィンドウのアスペクト比が変化します(比喩が機能しなくなり始めています)。

サイドの長さを画面の短辺にして四角形を描画すると、電話機を横向きにして画面上の同じ領域をカバーしても、正方形になります。

gluPerspectiveのコードを使用すると、計算が簡単になるでしょう。アスペクト比を実際のアスペクト比に設定し、fovyを最初のアスペクト比に固定します。このアスペクト比にはfovxを使用し、回転表示の場合はfovyを使用できます。

関連する問題