_dodger opened this issue on Jul 22, 2003 ยท 6 posts
Syntax posted Wed, 23 July 2003 at 9:51 AM
Um, remember that DirectX works in kernelspace / hardware. It's not a seperate program, per se. Therefore, in order to snoop the data flow, you will have to work at the kernel level. If I need to point out the problems that entails, understand that this will be a long project. Also, I'm not convinced that the DirectX implementation uses a pipe - I think it's more stongly coupled than that, involving many calls. However, there is an alternative to kenerl snooping - run the program in an emulator, and modify the emulator to dump all the DirectX calls (and arguments) to a log. This is, I think the optimal solution, becuase there exists a DirectX capable emulator. Wine, which can be run on a unix environment such as Linux, is such an emulator. It won't be too much work to stick loggin gcode around each DirectX (Strictly, you only need the Direct3D calls, the other parts of DirectX are not relevent here). Other options are to run a debugger, or other stepwise execution environment on the program, and extract the models before they are executed. Either way, it's not straightforward. If you are just looking for models for a specific game engine, you may find that they are held in seperate files, and that might be the best way to approach the problem, leaving DirectX out of it.