2010-10-08 4 views
0

Как я могу предотвратить внешнее приложение OpenGL (без источников) от рисования, как это может сделать GDebugger?Как предотвратить использование приложения OpenGL?

Проблема заключается в том, что Dassault Catia открывает сложные модели в течение пяти (!) Часов, поскольку они отображаются во время загрузки.

Когда граница этого приложения нажата, а кнопка мыши удерживается нажатой, процесс рендеринга останавливается, так что файл модели открывается в 10 раз быстрее - он заканчивается в течение двадцати минут.

Буду очень благодарен за любой намек (язык программирования не имеет значения).

С наилучшими пожеланиями,

Дэвид

ответ

1

Я думаю, что GDebugger использует пользовательскую версию opengl32.dll. Приложение загружает его, потому что оно находится в нем, запуская каталог (или перехватывая вызов LoadLibrary). Каждая функция в этой библиотеке может выполнять дополнительный код перед выполнением вызова на стандартный opengl32.dll, что позволяет полностью контролировать приложение. Но если вы собираетесь создать такую ​​прокси-библиотеку, вы должны реализовать все стандартные функции OpenGL (все записи должны быть на месте), хотя большинство из них будут простыми оболочками.

0

Я думаю, что делают различные GL-отладчики, чтобы заменить OpenGL-DLL для того, чтобы перехватить OpenGL вызовов. Я думаю, вы могли бы предоставить свою собственную «фиктивную» OpenGL-dll, в которой все подпрограммы в основном «не-ops».

0

Если вы на win32, возьмите копию GLIntercept. Возможно, у него уже есть опция заглушки; если это не так, это не должно быть слишком сложно добавить.

Смежные вопросы