You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.1 KiB
34 lines
1.1 KiB
void dump_buffer()
|
|
{
|
|
IDirect3DSurface9* pRenderTarget=NULL;
|
|
IDirect3DSurface9* pDestTarget=NULL;
|
|
const char file[] = "Pickture.bmp";
|
|
// sanity checks.
|
|
if (Device == NULL)
|
|
return;
|
|
|
|
// get the render target surface.
|
|
HRESULT hr = Device->GetRenderTarget(0, &pRenderTarget);
|
|
// get the current adapter display mode.
|
|
//hr = pDirect3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT,&d3ddisplaymode);
|
|
|
|
// create a destination surface.
|
|
hr = Device->CreateOffscreenPlainSurface(DisplayMde.Width,
|
|
DisplayMde.Height,
|
|
DisplayMde.Format,
|
|
D3DPOOL_SYSTEMMEM,
|
|
&pDestTarget,
|
|
NULL);
|
|
//copy the render target to the destination surface.
|
|
hr = Device->GetRenderTargetData(pRenderTarget, pDestTarget);
|
|
//save its contents to a bitmap file.
|
|
hr = D3DXSaveSurfaceToFile(file,
|
|
D3DXIFF_BMP,
|
|
pDestTarget,
|
|
NULL,
|
|
NULL);
|
|
|
|
// clean up.
|
|
pRenderTarget->Release();
|
|
pDestTarget->Release();
|
|
} |