Add 'capture'
This commit is contained in:
parent
030f522d58
commit
4b2a9db74e
34
capture
Normal file
34
capture
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
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();
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user