OGRE
2.2.4
Object-Oriented Graphics Rendering Engine
|
#include <OgreD3D9DepthBuffer.h>
Public Types | |
enum | PoolId { POOL_NO_DEPTH = 0, POOL_MANUAL_USAGE = 0, POOL_DEFAULT = 1, POOL_NON_SHAREABLE = 65534, POOL_INVALID = 65535, POOL_NO_DEPTH = 0, POOL_MANUAL_USAGE = 0, POOL_DEFAULT = 1, POOL_NON_SHAREABLE = 65534, POOL_INVALID = 65535 } |
enum | PoolId { POOL_NO_DEPTH = 0, POOL_MANUAL_USAGE = 0, POOL_DEFAULT = 1, POOL_NON_SHAREABLE = 65534, POOL_INVALID = 65535, POOL_NO_DEPTH = 0, POOL_MANUAL_USAGE = 0, POOL_DEFAULT = 1, POOL_NON_SHAREABLE = 65534, POOL_INVALID = 65535 } |
Public Member Functions | |
D3D9DepthBuffer (uint16 poolId, D3D9RenderSystem *renderSystem, IDirect3DDevice9 *creator, IDirect3DSurface9 *depthBufferSurf, D3DFORMAT fmt, uint32 width, uint32 height, uint32 fsaa, uint32 multiSampleQuality, bool isManual) | |
~D3D9DepthBuffer () | |
virtual void | _notifyRenderTargetAttached (RenderTarget *renderTarget) |
Called when a RenderTarget is attaches this DepthBuffer. More... | |
virtual void | _notifyRenderTargetDetached (RenderTarget *renderTarget) |
Called when a RenderTarget is detaches from this DepthBuffer. More... | |
void | _setPoolId (uint16 poolId) |
Sets the pool id in which this DepthBuffer lives. More... | |
bool | copyTo (DepthBuffer *destination) |
Copies the contents of the DepthBuffer to the destination. More... | |
virtual uint16 | getBitDepth () const |
IDirect3DSurface9 * | getDepthBufferSurface () const |
IDirect3DDevice9 * | getDeviceCreator () const |
PixelFormat | getFormat (void) const |
virtual uint32 | getFsaa () const |
virtual const String & | getFsaaHint () const |
virtual uint32 | getHeight () const |
virtual uint16 | getPoolId () const |
Gets the pool id in which this DepthBuffer lives. More... | |
virtual uint32 | getWidth () const |
virtual bool | isCompatible (RenderTarget *renderTarget) const |
Returns whether the specified RenderTarget is compatible with this DepthBuffer That is, this DepthBuffer can be attached to that RenderTarget. More... | |
virtual bool | isCompatible (RenderTarget *renderTarget, bool exactFormatMatch) const |
Returns whether the specified RenderTarget is compatible with this DepthBuffer That is, this DepthBuffer can be attached to that RenderTarget. More... | |
bool | isDepthTexture (void) const |
bool | isManual () const |
Manual DepthBuffers are cleared in RenderSystem's destructor. More... | |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info More... | |
void * | operator new[] (size_t sz) |
Static Public Attributes | |
static PixelFormatGpu | DefaultDepthBufferFormat |
|
inherited |
|
inherited |
Ogre::D3D9DepthBuffer::D3D9DepthBuffer | ( | uint16 | poolId, |
D3D9RenderSystem * | renderSystem, | ||
IDirect3DDevice9 * | creator, | ||
IDirect3DSurface9 * | depthBufferSurf, | ||
D3DFORMAT | fmt, | ||
uint32 | width, | ||
uint32 | height, | ||
uint32 | fsaa, | ||
uint32 | multiSampleQuality, | ||
bool | isManual | ||
) |
Ogre::D3D9DepthBuffer::~D3D9DepthBuffer | ( | ) |
|
virtualinherited |
Called when a RenderTarget is attaches this DepthBuffer.
renderTarget | The RenderTarget that has just been attached |
|
virtualinherited |
Called when a RenderTarget is detaches from this DepthBuffer.
renderTarget | The RenderTarget that has just been detached |
|
inherited |
Sets the pool id in which this DepthBuffer lives.
Note this will detach any render target from this depth buffer
|
inherited |
Copies the contents of the DepthBuffer to the destination.
Useful when you want to bind a DepthBuffer for sampling as a texture, but later resume rendering with this depth buffer (binding a DepthBuffer as a texture forces it to be decompressed and disables other optimization algorithms on a lot of Hardware. GCN Tahiti aka AMD Radeon R9 280 is no longer affected by this issue)
destination | DepthBuffer to copy to. |
|
virtualinherited |
IDirect3DSurface9* Ogre::D3D9DepthBuffer::getDepthBufferSurface | ( | ) | const |
IDirect3DDevice9* Ogre::D3D9DepthBuffer::getDeviceCreator | ( | ) | const |
|
inherited |
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
Gets the pool id in which this DepthBuffer lives.
|
virtualinherited |
|
virtual |
Returns whether the specified RenderTarget is compatible with this DepthBuffer That is, this DepthBuffer can be attached to that RenderTarget.
renderTarget | The render target to test against |
exactFormatMatch | True if looking for the exact format according to the RT's preferred format. False if the RT's preferred format should be ignored. |
|
virtualinherited |
Returns whether the specified RenderTarget is compatible with this DepthBuffer That is, this DepthBuffer can be attached to that RenderTarget.
renderTarget | The render target to test against |
exactFormatMatch | True if looking for the exact format according to the RT's preferred format. False if the RT's preferred format should be ignored. |
Reimplemented in Ogre::GL3PlusDepthBuffer, Ogre::GLES2DepthBuffer, Ogre::MetalDepthBuffer, and Ogre::D3D11DepthBuffer.
|
inherited |
|
inherited |
Manual DepthBuffers are cleared in RenderSystem's destructor.
Non-manual ones are released with it's render target (aka, a backbuffer or similar)
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
operator new, with debug line info
|
inlineinherited |
|
inlineinherited |
placement operator new
|
inlineinherited |
array operator new, with debug line info
|
inlineinherited |
|
staticinherited |