0

GDebugger で実行できるように、外部の OpenGL アプリケーション (利用可能なソースがない) が描画されないようにするにはどうすればよいですか?

問題は Dassault Catia で、複雑なモデルは読み込み中にレンダリングされるため、5(!) 時間以内に開くことができます。

このアプリケーションの境界をクリックしてマウス ボタンを押したままにすると、レンダリング プロセスが停止するため、モデル ファイルが 10 倍速く開かれ、20 分以内に終了します。

ヒントをいただければ幸いです(プログラミング言語は関係ありません)。

よろしくお願いします、

デビッド

4

3 に答える 3

1

GDebugger は opengl32.dll のカスタム バージョンを使用していると思います。アプリケーションは、開始ディレクトリにある (または LoadLibrary 呼び出しをインターセプトする) ため、それをロードします。そのライブラリ内の各関数は、標準の opengl32.dll への呼び出しを実行する前に追加のコードを実行できます。これにより、アプリケーションを完全に制御できます。ただし、そのようなプロキシ ライブラリを作成する場合は、すべての標準 OpenGL 関数を実装する必要があります (すべてのエントリが配置されている必要があります)。ただし、それらのほとんどは単純なラッパーになります。

于 2010-10-08T10:59:20.427 に答える
0

win32 を使用している場合は、GLInterceptのコピーを入手してください。すでにスタブアウト オプションがある場合があります。そうでない場合、追加するのはそれほど難しくありません。

于 2010-10-08T13:14:16.670 に答える
0

さまざまな GL デバッガーが行うことは、OpenGL 呼び出しをインターセプトするために OpenGL-dll を置き換えることだと思います。すべてのルーチンが基本的に「no-ops」である独自の「ダミー」OpenGL-dll を提供できると思います。

于 2010-10-08T10:58:44.933 に答える