2011-02-07 8 views
2

私はiPhone 4のOpenGL ESに網膜と非網膜資産をミキシング

のために、私は私のアプリの全体のグラフィックコンテンツを更新することはできません、いくつかの高解像度の資産と私の3Dアプリケーションをアップグレードしたいと思います。私は高解像度と低解像度で画像をミックスしたい。 私のすべてのアプリケーションはOpenGLでレンダリングされます

私のアプリの大部分はビルボードのスプライトに基づいていますので、私はOpenGLビューの倍率を変更することができますが、低解像度のスプライトをすべて拡大縮小し、 。 可能な限り小さなコードを変更することでこれを行う別の方法がありますか?私のプロジェクトで

+0

なぜOpenGL ESレイヤのスケールファクタが、ジオメトリの位置に対して指定した座標を変更するのですか? OpenGLは、ディスプレイレイヤーのピクセルサイズに関係なく、独自の座標空間を持つ必要があります。私のアプリケーションでは、Retinaディスプレイと非Retinaディスプレイデバイスを切り替えるためにレンダリングコードを変更する必要はありません。 –

+0

低解像度スプライトと高解像度スプライトを使いたい。したがって、高解像度のスプライトを0.5にスケールしたり、低解像度のスプライトを2にスケールしたりすることができます。 高解像度のスプライトを(glScalefで)スケールすると、品質が低下します。 – Klem

答えて

0

私は320x480の画面のすべてのサイズと位置を設定します。そして、網膜デバイス上で走っているときにx2テクスチャを使うと、それを読み込んだ後にx0.5の大きさを掛けます(例えば、テクスチャは100ピクセルの幅ですが、幅の値は50になります)。

関連する問題