(0,0 から 299,199) までの座標を持つ 300x200 のプレイエリアを持つ Android 用のシンプルな 2D ゲームを書いています。縦横比を維持しながら、この領域をできるだけ画面いっぱいに広げたいと思います。たとえば、GL ビューが 800x480 のデバイス全体を占める場合、領域を 2.4x で 720x480 にスケーリングし、両側に 40 ピクセルのスペースを残すことができます。
多くのデバイスが両方の次元で正確にスケーリングするとは思わないため、コードは水平または垂直のギャップに対処する必要があります。
問題は、これをどのように行うかです。私のプレイ エリアは 2D なので、正投影を使用できます。これを設定するためにプラグインする必要がある値がわかりません。また、ES 2.0 はシェーダーに大きく依存しているため、オブジェクトが適切なサイズでレンダリングされるように、ある種のスケーリング マトリックスをベクター シェーダーに伝達する必要があるのではないかと考えています。
おそらく私のニーズに合った言葉で話す良いチュートリアルを知っている人はいますか? 私が見たほとんどのチュートリアルは、正確な寸法の領域をレンダリングするのではなく、立方体または正方形を画面の中央にダンプすることに満足しているようです。