Git Product home page Git Product logo

hbcbh1999 / glintercept Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dtrebilco/glintercept

0.0 2.0 0.0 4.47 MB

GLIntercept is a OpenGL function call interceptor for Windows that will intercept and log all OpenGL calls

Makefile 1.50% Shell 0.31% C++ 53.55% Python 0.57% C 30.46% Inno Setup 0.04% GLSL 0.03% Objective-C 0.22% Lex 0.21% Yacc 0.80% XSLT 0.18% Assembly 11.99% Batchfile 0.05% M4 0.06% HTML 0.01% CMake 0.03%

glintercept's Introduction

GLIntercept

##About## GLIntercept is a OpenGL function call interceptor for Windows that will intercept and log all OpenGL calls.

##Binaries## Binaries of releases can be downloaded here

##Basic usage## Select the version of GLIntercept right for the application being debugged (x86 or x64)

Note: You select the version of GLIntercept based on if the application is x86 or x64 (64bit) - not if the operating system is 64 bit.

Then after installation, simply copy the opengl32.dll and a gliConfig.ini file from the install directory to the executable folder of the application you want to intercept OpenGL calls.

Then edit the gliConfig.ini file, enable the options required and then run the application.

##How it works## GLIntercept works by overriding the call to wglGetProcAddress, wrapping the real function pointer in some assembly and then returning it to the application being debugged.

This means that when new OpenGL extensions/versions are released, GLIntercept will automatically log the new functions.

However, while all function names are automatically logged, function parameters need to be specified. These are supplied via text files in a "C" style syntax that can be updated as needed.

eg. void glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );

##History## GLIntercept has existed since 2003 and was mainly designed as an OpenGL 1.0-2.1 debugger. So while basic function logging should work on all OpenGL versions, the more advanced features listed below may or may not work in OpenGL 3.0+. (especially when using a core OpenGL profile)

##Features## Main GLIntercept features:

  • Save all OpenGL function calls to text or XML format with the option to log individual frames.
  • Activate and log ARB_debug_output/GL_KHR_debug messages to the log
  • Run time shader edit. Display shader usage and edit the shaders at run time. Supports ARB VP/FP/GLSL and NV VP/FP
  • Free camera. Fly around the geometry sent to the graphics card and enable/disable wireframe/backface-culling/view frustum render.
  • Save and track textures. (1D,2D,3D,NVRect and p-buffer bound textures are supported.) Saving can be to TGA,PNG and JPG formats.
  • Save and track shaders/programs.
  • Save and track display lists.
  • Saving of the OpenGL frame buffer (color/depth/stencil) pre and post render calls. The ability to save the "diff" of pre and post images is also available.
  • Track error states (logging them to the debugger output) and breaking on errors.
  • Basic thread error checking.
  • Function timer log.
  • Resource leak tracking for contexts, display lists, shaders and textures.
  • OpenGL extension/version override. Add/remove/replace the OpenGL extension and version strings. (Test lower end rendering paths without changing cards)
  • OpenGL function stats - how many times each function is called.

##License## Note Older versions of GLIntercept were licensed under the GPLv2. Newer versions (1.0+) are MIT licensed.

##Links## Similar OpenGL tools to GLIntercept are:

OpenGL ES / OpenVG tracing

Direct3D

glintercept's People

Contributors

dtrebilco avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.