1

OpenGL ES 2.0 は、ビットマップからの変更後にテクスチャがどのように見えるかを定義するいくつかのシェーダー コンポーネントを使用して取り組んできたプロジェクトに実装されています。私のプロジェクトでは、SurfaceView には 1 つの画像しかありません。

過去 24 時間にいくつかの異なるアプローチを行い、コードを調べながら、コミュニティからの迅速な応答を期待しています。解決策を探すのではなく、その調査を行います。

シェーダーを使用しているため、タッチ イベントに基づいてテクスチャのスケーリングと移動を行うには、Matrix ユーティリティと OpenGL 変換またはカメラでの移動を使用して、同じ効果を得る必要があるようです。 ImageView 内で現在行われていること。これは適切なアプローチでしょうか?おそらくシェーダー コードを変更して、追加の入力変数を追加することもできますか?

SurfaceView のキャンバスを変更したり、同じ効果を達成する他の方法で UI の寸法を変更したりするなど、Android 側で同じ効果が得られるものを使用できるとは思いませんか?

ありがとう。繰り返しますが、ズームや移動のソリューションは必要ありません。タスクに応じて OpenGL と Android を適切に混在させる方法を理解しようとするだけです。

1.0 のいくつかの要素が 2.0 よりも簡単に見えるのはなぜですか。リリース間で使いやすさが向上するはずです。

4

1 に答える 1

1

はい。正投影を使用し、範囲を調整してズームする必要があります。こちらのリンクを参照してください。パンするには、glTranslatef を使用するだけです。

これを完全にピクセル シェーダーで行いたい場合は、glScalef と glTranslatef でテクスチャ マトリックス スタックを使用できます。

于 2013-05-10T17:58:58.210 に答える