Sign in to follow this  

Saving individual objects in a frame

This topic is 3100 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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
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

This topic is 3100 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

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