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

  • \$\begingroup\$ What is the standard format? \$\endgroup\$
    – deft_code
    Oct 8 '10 at 4:46
  • \$\begingroup\$ @caspin not really sure if that is relevant to the end of what it should do... see bellow answer. \$\endgroup\$
    – Guapo
    Oct 8 '10 at 5:05
  • \$\begingroup\$ 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. \$\endgroup\$ Oct 8 '10 at 7:30
  • \$\begingroup\$ @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 ... \$\endgroup\$
    – Guapo
    Oct 8 '10 at 10:38
  • \$\begingroup\$ 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. \$\endgroup\$ Oct 9 '10 at 20:42

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.


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.

  • \$\begingroup\$ thanks that was informational... do you know any other softwares or ways to dump that data ? \$\endgroup\$
    – Guapo
    Oct 8 '10 at 21:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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