2

別のアプリケーションの上に線とテキストで構成されるオーバーレイを描画する必要があります。問題のアプリケーションは 3D 外界の視点であり、オーバーレイはヘッドアップ ディスプレイです。

描画ループで描画コードを実行するために、外の世界のアプリケーションからのどのタイプのコールバックにもアクセスできません。

アプリケーションのウィンドウに直接描画すると、描画ループが同期されないためちらつきが発生するため、私にはそれはオプションのようには思えません。

私が考えることができる 1 つの方法は、外界のアプリケーションのピクセルをキャプチャしてアプリケーションにストリーミングすることです。これにより、同じ描画ループでオーバーレイを上に描画できますが、それは非常に非効率的です。

ちらつきなしで外の世界のアプリケーションを描画する効率的な方法はありますか?

最終的なグラフィック カード出力またはモニターのリフレッシュ レートで何かを描画することは可能ですか?

Ps OpenGL である必要はありませんが、HUD は既に OpenGL で記述されているため、簡単に作成できます。

4

1 に答える 1

1

コメントで言ったことを繰り返すと、3D API 呼び出しをハイジャックし、独自のコードを挿入して各フレームの最後に何かを描画するアプリがかなりの数に出くわしました。同じアプリ内なのでちらつきもなく、結果をどこかにコピーして合成するのではなく、直接描画できます。私はそれをやったことがないので、おそらくうまく説明できないでしょう。

関連する質問はこちら: Overlaying on a 3D fullscreen application

于 2013-10-29T13:27:16.080 に答える