OpenGLパースペクティブビューについて理解しづらい。私は情報のトンを読んだが、それは私が何を達成するために私を助けなかった。これは、私の3DシーンがすべてのAndroidデバイスで画面全体を満たしていることを確認しています。OpenGL ESでの解像度でのビューポートの境界
これをテストするには、最終的にすべてのコーナーに触れ、デバイスの画面全体を埋めるクワッドを3次元空間で描画します。次に、このクワッドを使用するか、実際にはその座標を使用して、特定のZ距離の境界ボックスを指定して、ジオメトリを配置し、それらが画面をいっぱいにするようにすることができます。画面のサイズが変更されるか、別の画面解像度で実行すると、この境界ボックスとジオメトリが再計算されます。私は静的なジオメトリについて話しているわけではありませんが、例えばボールで画面を塗りたいと言っていて、そこにボールがどれくらいあるか、どれくらいあるかは関係ありません。唯一重要なことは、画面が満たされ、視覚的な錐台の外側のボール。限り、あなたが実際に錐台の境界にピクセル値をバインドビューポートを指定するときに、私は理解し
- 。私はあなたが実際にウィンドウピクセルが3次元の幾何学的位置と一致するように正射投影図を設定できることを知っていますが、これは透視図でどのように機能するかはわかりません。
- ここでは、nearZにマップされるビューポートの幅と高さを想定しています。だからボールがZ = 1fのときは元のサイズです
- ボールを画面内にfarZの方向に動かすと、ボールが縮小されてパースペクティブが機能します。たとえば、Z = 51fのボールが画面上に小さく表示され、画面全体を埋めるためにもっとボールが必要になります。今、そうするためには、私は実際に私は、ボールの錐台角度及びZ距離ながら、異なる錐台のサイズ(幅×高さ)で、画面全体を埋めるために、これらの境界を必要と紫の境界
- を探しています
- 常に
- 同じである私は、私は正しくそれが錐台の垂直方向の角度である、錐台の角度をマーキングするのですか?
- (青い三角ノートを参照してください)私はこれらの紫色の境界を計算するために三角を使うことができると思いますか
- 緑の1fと-1fの値について、誰かが何かを読んだようですか?錐台内のジオメトリのサイズを変更するために使用されるいくつかのスカラーのようですか?
私は実際に任意のAndroidデバイスの任意の解像度/ウィンドウで3D空間内のビューポートの境界線に対してプログラマティカルに位置ジオメトリを配置できるようにしたいと考えています。
注:私は、既知の幅x高さの任意の解像度のステージ(視覚領域)を使用して、絶対測定値またはパーセント測定値を使用してアセットの位置/スケールを容易にするフラッシュバックグラウンドを持っています。私はこのシステムがOpenGLの視点にどのように当てはまるかを考えていると思います。