GPU を使用してパフォーマンスの計算を実行する iPhone 用のフェイス トラッカーを作成しようとしています。
追跡をよりインテリジェントにするために、シェーダーから値を取得できるようにする必要があります。しかし、私はそうするのが難しいのですが、これはiPhone OpenGL ESで可能ですか?
シェーダーから出力を取得する唯一の方法 (少なくとも ES では) は、何かをフレーム バッファーにレンダリングし、GPU から結果のピクセル値を読み取ることです。
しかし、私はあなたのアルゴリズムと実装を知らないので、結果を効率的に取り戻すためにどのように構造化するのが最善かを教えることはできません. ただし、シェーダーからの唯一の出力は、フレームバッファーにレンダリングされた画像であり、この画像の構造が何であれ、覚えておいてください。
したがって、通常は、最小限の CPU-GPU 通信用にアルゴリズムを構築するのが最善です。したがって、CPU でこれらの値を本当に知る必要があるかどうか、または CPU ラウンドトリップを必要とせずに (多かれ少なかれ) 効率的にレンダリングできるテクスチャまたは VBO を使用して GPU アルゴリズムの他の部分にそれらを提供するだけで十分かどうかを考えてください。 .