GLIntercept v0.2 (a GLTrace like program)

Get it here: http://home.swiftdsl.com.au/~radlegend/GLIntercept/GLIntercept.html
(sorry for the horrible 5min website and URL)

See it in action here (single frame grab with xml -need Moz1.4+/IE6+): http://home.swiftdsl.com.au/~radlegend/GLIntercept/Frame_000024/gliInterceptLog.xml
Others can use: http://home.swiftdsl.com.au/~radlegend/GLIntercept/glixmlshot.gif

GLIntercept logs ALL OpenGL calls to either text or xml format. Adding new extensions just involves adding the new tokens/entry points to a text file.

New features in 0.2

  • Ability to grab a single frame of log calls
  • Ability to save as XML
  • Ability to save textures -all known formats are supported - 1D,2D,3D,CUBE,NV_RECT and p-buffer textures
  • Ability to save shaders -only ARB/NV programs currently supported. GLSL will be added when Nvidia have official support.
    -Ability to save the frame buffer pre/post and generate a diff image.
    -Ability to log what shaders/textures are bound on render calls
    -Enhanced error log reporting.
    -Support for contexts.
    -Reporting of texture/shader/context memory leaks.
    -Ability to handle “unusual” startup code

ATI have a few driver bugs with reguard to p-buffer render to texture and cube-maps. See the readme.txt for details.

GLIntercept relies heavily on a conformant OpenGL implementation so non-mainstream cards will probably not work correctly.

I am 6months out from my milestone with this release but when you program in 40+ deg C heat, it’s a race to see who melts first- me or the CPU.

Comments welcome.

Cool,

I especially like the use of XML /XSLT and the nice formatting. I am sure it will get usefull when D3 comes out :smiley:

Looks very nice indeed! Any chance of Open Sourceing it and/or doing a Linux version?

Thanks

Dirk

I am releasing this as open-source, expect to see it on the web site in a few days. (I am still deciding on what licence to use and then have the job of adding it to the top of all source files) Any ideas on what would be a good licence type? (I was planning on just using GPL)

I was planning on doing a linux version when I reach the 1.0 milestone. (I have kept all os and platform code in seperate classes to aid in porting) -If someone wants to port the existing version they are free to do so.

Wow, this is great. It’s really easy to check wether or not your own state-checking is working correctly.
A question; how come displaylists aren’t tracked the way textures & shaders are?

Very nice work!

Very nice tool,
I hope it will work on linux too

Display list recording and tracking was going to be in this release but got bumped off at the last second. (I was suffering from feature creap so I scratched a few things)

Expect to see it in the next release.

Good work, I’ve allready fixed some bugs in my application

That’s a fantastic tool, thanks.

Source is now up for people that are interested. (GPL licenced)

you know this is gonna be killer for people making aimbots/wallhacks

Originally posted by imr1984:
you know this is gonna be killer for people making aimbots/wallhacks

how? by knowing which opengl commands are sent? all i can see them doing is modifying the exe (they dont need this tool for that) or changing/inserting commands (again, i dont see why they would need this tool for it). if im not missing something thats like looking at the html source of a site and saying “this is gonna be killer for people hacking the server”

Hmmm, it doesn’t really do much more than gltrace, it just does it much better. The fact that you can actually see the images that lie in each texture object is brilliant. But it’s not an x-ray machine!