1

2D グラフィックスの描画は 2 つの座標のみを要求し、デフォルトでは Z 座標は 0 です。その Z 座標を使用してグラフィックスのサイズを調整することは可能ですか。大きな画面では Z を 0 に設定しますが、画面が小さい (ldpi) 場合は z を -5 単位に設定すると、グラフィック全体が画面に収まります。それは良い習慣ですか?そのようにすることさえ可能ですか?

4

4 に答える 4

1

グラフィックを画面サイズ(および回転)に調整するには、openglビューポートのサイズを調整する必要があります。

z座標で何をする予定かはわかりませんが、私にとっては良い方法ではありません。

于 2012-12-23T11:35:18.233 に答える
1

シーンが画面に正しく収まるように、z 座標を使用してズームインまたはズームアウトすることを計画しているようです。それは有効な点です。射影行列をそのように「ハッキング」することで簡単に行うことができます。私が実際に目にする唯一の欠点は、頂点ごとにもう 1 つの座標をパイプラインに送信する必要があることです。modelview-projection マトリックスに格納されるか、頂点シェーダーに渡されるグローバル スケーリング ファクターを設定する方がはるかに簡単です。

于 2012-12-24T06:22:24.440 に答える
0

私の推測では (失礼ではありませんが)、あなたは 2D レンダリングについてほとんど知らず、このアイデアを思いついたのでしょう。実際にはそれほど悪くはありません。これは最初のアプローチとしては優れていますが、この分野では非常に洗練されています。自分が何をしているのか本当によくわかっていない限り、標準的な対処方法に固執する必要があります。

標準的な方法は、射影行列 (またはより高い抽象レベルのカメラ) を使用することです。投影法を使用する場合、「世界座標」を定義します。プロジェクションは世界を GL ビューポート (通常はホール スクリーン) にマッピングするため、デバイスの画面サイズに関係なく、常に世界の同じ部分が表示されます。ストレッチに対処する必要があることに注意してください。

本当にあなたの質問に答えているかどうかわかりません。これは実際にあなたが尋ねたことではありませんが、あなたが聞きたかったことだと思います。Orthographic プロジェクション (2D で一般的) を使用する場合は、z コンポーネントを気にする必要はありません。

于 2012-12-23T20:19:45.513 に答える
0

2D アプリに「偽の」深さを追加したいですか?

  • 正投影 (ほとんどの 2D レンダリングの世界で使用されている) では、まったく役に立ちません。
  • 透視投影では、テクスチャの縮小が発生したときに多くのサブピクセルの不具合が発生したり、拡大した場合にぼやけたりすることは間違いありません。

スプライトのサイズを変更するか、より良い方法として、さまざまなサイズの焼き付けられたスプライトのセットを作成することができます。

于 2012-12-23T15:08:45.060 に答える