3 ms·
Renderdoc uses hooking to instrument your 3D API calls to provide excellent graphics debugging. Good example to dive into since it's also cross platform. https
by djmips 7y ago
Renderdoc uses hooking to instrument your 3D API calls to provide excellent graphics debugging. Good example to dive into since it's also cross platform.
https://github.com/baldurk/renderdoc https://github.com/baldurk/renderdoc
I used graphics API hooking in a Source Engine game where I didn't have the source for the engine but needed to display the 2D Flash based GUI (Iggy) at the correct time. It was fun to get it working.
Valve's Steam also does something similar since it has the ability to superimpose it's GUI over a running game.
- Const-me 7y agoConceptually yes, but technically renderdoc works differently. On Windows it patches IAT (Import Address Table), then for D3D it wraps complete D3D COM interfaces. It doesn’t use the described tricks to patch code with jmp instruction, it’s not too reliable, IMO. Similar on Linux, it doesn’t have IAT but it has PLT (Procedure Linkage Table) which is basically the same thing as IAT.