アプリケーションのどの部分がOpenGLを利用しているかを特定することに興味があります。
YoutubeビデオがFlashで再生されているChromeの例を見てください(OpenGLを介してレンダリングされます)。そのOpenGLアクティビティが実行されているアプリケーションの領域のみを検出することに興味がありますか?
Chromeに注入するなど、アプリケーション内にいる必要があるという条件の場合は、それも実行できます。
質問をもっと明確にできるかどうか教えてください。
アプリケーションのどの部分がOpenGLを利用しているかを特定することに興味があります。
YoutubeビデオがFlashで再生されているChromeの例を見てください(OpenGLを介してレンダリングされます)。そのOpenGLアクティビティが実行されているアプリケーションの領域のみを検出することに興味がありますか?
Chromeに注入するなど、アプリケーション内にいる必要があるという条件の場合は、それも実行できます。
質問をもっと明確にできるかどうか教えてください。
質問にMacOSXのタグを付けました。OpenGLはシステム全体のグラフィックスバックエンドとして使用されるため、OpenGLを使用して画面上のすべてのものが描画されていると単純に想定できます。
それらは、openglがレンダリングしているサーフェスを知ることができるこのプライベートAPIです。
CG_EXTERN CGError CGSGetSurfaceBounds(CGSConnectionID, CGWindowID, CGSSurfaceID, CGRect* bounds);
これを使用して、OpenGLを利用するアプリケーションの特定の領域を検出できます。