Sign in to follow this  
joyst1ck

Saving individual objects in a frame

Recommended Posts

joyst1ck    100
I am wondering if there is any way to obtain and save all objects in a frame for a plugin-like system, meaning I don't have access to the source code. What I mean by this is to save all textures, render states, vertex shader constants, etc, for every DrawIndexedPrimitive and DrawPrimtive call. One way to do this would be to hook those functions and just save the data, including parameters. Then, it would be a matter of calling all of the gets to obtain things like the render state. Another idea would be to hook functions like SetRenderState, which would be much more efficient since it will save only what it needs to and not be forced to loop through all of the states and save the data for each one. Is there any proper way to do this? For anyone wondering, I am trying to create a screenshot, but instead of using pixels to capture the data, I want to use the 3d data itself so that it can later be manipulated. [Edited by - joyst1ck on June 21, 2009 1:11:57 PM]

Share this post


Link to post
Share on other sites
darkelf2k5    286
You can use PIX to get a list of functions called + the data itself. Then try to copy it out manually.
Or better, but more difficult, reimplement the main d3d dll functions so when called it dumps the passed data to a file or something. Lots of typing but with that you can basically get all the 3D info that is passed from the app. To save time, grab the function call list from PIX and implement only those you need.
There was also a 3rd party app that can do maybe stuff like this. Might worth a look.
http://www.sandboxsoftware.com.au/directx_explorer

Share this post


Link to post
Share on other sites
joyst1ck    100
A proxy dll would probably work, but I rather make as few changes as possible. Does anyone happen to know how PIX or DirectX explorer work internally?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this