Вопрос

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

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

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

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

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

Дэвид

Это было полезно?

Решение

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

Другие советы

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

Если вы на Win32, возьмите копию Глинанс. Отказ Это может иметь опцию заглушки уже; Если это не так ли не должно быть слишком сложно, чтобы добавить.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top