Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

How can you dump GPU memory (images and such that are loaded on it) to the standard format ?

share|improve this question
    
What is the standard format? –  deft_code Oct 8 '10 at 4:46
    
@caspin not really sure if that is relevant to the end of what it should do... see bellow answer. –  Guapo Oct 8 '10 at 5:05
    
Can you be more specific as to what you are trying to do? In most cases you are going to get some image degradation from this due to format changes. If, for example you did jpeg->video memory->jpeg, you would likely not end up with the exact same image you started with. –  Jason Morales Oct 8 '10 at 7:30
    
@Jason and how exactly do you figure out what format it is ? Before reverbb's reply i didnt even know how to get it dumped or readed ... –  Guapo Oct 8 '10 at 10:38
    
generally you will specify that when you load the texture into memory, it will probably be one of these though: en.wikipedia.org/wiki/S3_Texture_Compression Are you working on OpenGL, DirectX, something else? The details are tied to the API. –  Jason Morales Oct 9 '10 at 20:42
add comment

2 Answers

up vote 4 down vote accepted

As far as dumping resources from running Direct3D 6.x, 8.x and 9.x applications, you might want to check out 3D Ripper DX.

Here's a quote from the tool's website about its features:

With 3D Ripper DX you can:
- Capture all geometry, textures and shaders, rendered during single frame;
- Import captured geometry into 3D Studio Max or Maya;
- See what exactly has been drawn by each individual draw call;
- See renderstate, textures, vertex streams, index stream, vertex declaration, vertex and pixel shaders (including HLSL source code if available) of each individual draw call.

share|improve this answer
    
Very interesting application thank you. –  Guapo Oct 8 '10 at 5:05
add comment

If you're asking how to dump the texture into the original file format from which it was loaded, there is no way to do this. Once the texture is loaded, be it from a JPEG, PNG, BMP, TGA, etc., it is represented as an in-memory bitmap using one of many standard pixel formats. There is often no way to determine what the source file format was. However, you can save it back to any format you choose. Keep in mind that if the texture started out in a lossy format (like JPEG) then there is no way to get that "original" JPEG back once it's been loaded into memory--it would have to be re-compressed to be saved in JPEG format again, and that could very well lead to further quality loss. However, you could save it to a lossless format like PNG to avoid that quality loss.

share|improve this answer
    
thanks that was informational... do you know any other softwares or ways to dump that data ? –  Guapo Oct 8 '10 at 21:27
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.