public override DepthBuffer CreateDepthBufferFor( RenderTarget renderTarget )
{
var pBack = (Surface[])renderTarget[ "DDBACKBUFFER" ];
if( pBack[0] == null )
return null;
var srfDesc = pBack[ 0 ].Description;
//Find an appropiarte format for this depth buffer that best matches the RenderTarget's
var dsfmt = GetDepthStencilFormatFor( srfDesc.Format );
//Create the depthstencil surface
var activeDevice = ActiveD3D9Device;
var depthBufferSurface = Surface.CreateDepthStencil( activeDevice, srfDesc.Width, srfDesc.Height, dsfmt,
srfDesc.MultisampleType, srfDesc.MultisampleQuality,
true );
var newDepthBuffer = new D3D9DepthBuffer( PoolId.Default, this,
activeDevice, depthBufferSurface,
dsfmt, srfDesc.Width, srfDesc.Height,
srfDesc.MultisampleType, srfDesc.MultisampleQuality, false );
return newDepthBuffer;
}