描画される前にフレームバッファを変更する方法はありますか? デスクトップアプリケーションの画面全体で赤の値をゼロに設定したいとします。
1) 描画イベントをキャッチしてフレームバッファを取得する
2) 各ピクセルを取得し、R=0 を RGB 値に設定します (GPU->CPU メモリ転送を回避するために GPU 言語を使用)
3) 変更されたフレーム バッファを描画する
描画される前にフレームバッファを変更する方法はありますか? デスクトップアプリケーションの画面全体で赤の値をゼロに設定したいとします。
1) 描画イベントをキャッチしてフレームバッファを取得する
2) 各ピクセルを取得し、R=0 を RGB 値に設定します (GPU->CPU メモリ転送を回避するために GPU 言語を使用)
3) 変更されたフレーム バッファを描画する
ハ 私はあなたがおそらく探しているものを見つけました:
カーネル オブジェクトの直接操作
あなたが探しているのは、そのようなフィルタ ドライバを記述できる Windows API です。カーネル メモリへのフル アクセスを許可し、それを変更できるようにする可能性があります。ファイルシステムと場所をフックできる限り、カーネルメモリ自体とそれを使用した低レベルのネットワーク管理により、OS 自体がクラッシュする可能性さえあります。GPU 情報が GPU にコミットされる前にフックできると思います!
以下にその簡単な説明を示します。
http://www.blackhat.com/presentations/win-usa-04/bh-win-04-butler.pdf
これらのフックを実行できる Windows の API は、たとえば次のとおりです。
MS迂回路
私はそのAPIで私を働かせたくありませんが、説明からそれができるはずです。