4

私は、OpenGL ES 2.0 に依存する画像処理プログラムを開発しているため、さまざまなデバイスに展開できます。多くの場合、人々は小さな画像を使用し、これはテクスチャの制限を回避しませんが、各方向に数千ピクセルの大きな画像では、複数のデバイスでレンダリングできない場合があります。

私が最初に考えたのは、画像を小さな正方形に分割し、それぞれを個別にレンダリングすることでした。これは単純なプログラムでは機能しますが、畳み込みやワーピング効果などの隣接するピクセル値に基づいてレンダリングする必要があるタスクでは、これでは十分ではありません.

Photoshop は、多くのエフェクトに対してアプリケーションに OpenGL サポートを追加して、300,000 x 300,000 の寸法機能をどのように維持していますか?

GL_MAX_TEXTURE_SIZE より大きい画像に対して後処理タスクを実行する最も効率的な方法は何ですか?

表示可能な領域のみにレンダリングし、処理のために送信する前にズーム用に画像を再スケーリングしますか? ただし、これには、単純なズームイン/ズームアウトと画像のパンニングのために画像を再処理する必要があります。このアプローチで私が目にする唯一の問題は、画像を完全な品質の画像としてエクスポートする方法がないことです。そのため、この方法は、ユーザーが作業を保存しようとするまでうまく機能します。

4

1 に答える 1

-2

問題は、opengl はリアルタイム レンダリング用であり、画像処理には適していないことです。最良の選択は、CPU プログラムを使用することであり、そのすべての利点 (C/C++、スレッド化、テクスチャ制限なしなど) は、次の場合にのみ opengl を検討してください。 CPU を「支援」します (NVIDIA CUDA など)。

于 2012-10-19T01:33:32.117 に答える