2010-10-08 59 views
0

我怎樣才能防止外部OpenGL應用程序(沒有可用的來源)從繪圖就像它可以通過GDebugger完成?如何防止OpenGL應用程序繪製?

問題是Dassault Catia在五個(!)小時內打開復雜模型,因爲它們在加載過程中呈現。

當單擊此應用程序的邊框並按住鼠標按鈕時,渲染過程停止,因此模型文件打開速度提高了10倍 - 它在20分鐘內完成。

我會很感激任何提示(編程語言無所謂)。

最好的問候,

大衛

回答

1

我想GDebugger使用opengl32.dll的自定義版本。應用程序加載它,因爲它在開始目錄中(或攔截LoadLibrary調用)。在執行對標準opengl32.dll的調用之前,該庫中的每個函數都可以執行額外的代碼,從而可以完全控制應用程序。但是如果你要創建這樣一個代理庫,你必須實現所有標準的OpenGL函數(所有條目都必須到位),儘管其中大多數都是簡單的包裝器。

0

我認爲各種GL-調試器做的,是取代OpenGL的DLL,以攔截OpenGL調用。我想你可以提供你自己的「虛擬」OpenGL-dll,其中所有例程基本上都是「無操作」。

0

如果你在win32上抓取一份GLIntercept的副本。它可能已經有一個存根選項;如果沒有,則不應太難添加。