views:

26

answers:

3

Hello everybody!

How can i prevent an external OpenGL application(no sources available) from drawing like it can be done by GDebugger?

The problem is Dassault Catia that opens complex models within five(!) hours because they are rendered while the loading is in process.

When the border of this application is clicked and the mouse button is held down, the rendering process stops so that the model file is opened 10 times faster - it finishes within twenty minutes.

I'd be very grateful for any hint(programming language doesn't matter).

Best regards,

David

A: 

I think what the various GL-debuggers do, is to replace the OpenGL-dll in order to intercept the OpenGL calls. I guess you could provide your own "dummy" OpenGL-dll, in which all routines are basically "no-ops".

S.C. Madsen
+1  A: 

I think GDebugger uses custom version of opengl32.dll. Application loads it because it's in it starting directory (or intercepting LoadLibrary call). Each function in that library may do additional code before executing call to standard opengl32.dll, this allows for full control on application. But if you going to make such a proxy library, you must implement all standard OpenGL functions (all entries must be in place), although most of them will be simple wrappers.

alxx
A: 

If you're on win32 grab a copy of GLIntercept. It may have a stub-out option already; if it doesn't it shouldn't be too hard to add.

genpfault