#ifdef USE_D3D9
class D3D9RenderTargetSurface : public GraphicsAsset
{
public:
D3D9RenderTargetSurface();
~D3D9RenderTargetSurface();
void FreeMemory();
void ReleaseMemory();
void Reset(GraphicsDevice &graphics);
void Init(D3D9GraphicsDevice &GD, D3DFORMAT format, UINT width, UINT height);
bool ReSizeToBackBuffer(D3D9GraphicsDevice &GD, D3DFORMAT format);
void SetAsRenderTarget(D3D9GraphicsDevice &GD, UINT index = 0);
void CopySurfaceToOffScreen(D3D9GraphicsDevice &GD);
void CopyOffScreenToBackBuffer(D3D9GraphicsDevice &GD);
__forceinline UINT Width()
{
return _Width;
}
__forceinline UINT Height()
{
return _Height;
}
__forceinline LPDIRECT3DSURFACE9 OffScreenPlainSurface()
{
return _OffScreenPlainSurface;
}
private:
LPDIRECT3DSURFACE9 _Surface;
LPDIRECT3DSURFACE9 _DepthSurface;
LPDIRECT3DSURFACE9 _OffScreenPlainSurface;
UINT _Width, _Height;
D3DFORMAT _Format;
};
#endif