OGRE
2.2.4
Object-Oriented Graphics Rendering Engine
|
#include <OgreD3D11DepthBuffer.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 | |
D3D11DepthBuffer (uint16 poolId, D3D11RenderSystem *renderSystem, ID3D11Texture2D *depthStencilResource, ID3D11DepthStencilView *depthBufferView, ID3D11ShaderResourceView *depthTextureView, uint32 width, uint32 height, uint32 fsaa, uint32 multiSampleQuality, PixelFormat pixelFormat, bool isDepthTexture, bool isManual) | |
~D3D11DepthBuffer () | |
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 | _resized (ID3D11DepthStencilView *depthBufferView, uint32 width, uint32 height) |
internal method, gets called when the renderwindow was resized 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 |
ID3D11DepthStencilView * | getDepthStencilView (uint8 viewportRenderTargetFlags) |
ID3D11ShaderResourceView * | getDepthTextureView () 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, 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::D3D11DepthBuffer::D3D11DepthBuffer | ( | uint16 | poolId, |
D3D11RenderSystem * | renderSystem, | ||
ID3D11Texture2D * | depthStencilResource, | ||
ID3D11DepthStencilView * | depthBufferView, | ||
ID3D11ShaderResourceView * | depthTextureView, | ||
uint32 | width, | ||
uint32 | height, | ||
uint32 | fsaa, | ||
uint32 | multiSampleQuality, | ||
PixelFormat | pixelFormat, | ||
bool | isDepthTexture, | ||
bool | isManual | ||
) |
Ogre::D3D11DepthBuffer::~D3D11DepthBuffer | ( | ) |
|
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 |
void Ogre::D3D11DepthBuffer::_resized | ( | ID3D11DepthStencilView * | depthBufferView, |
uint32 | width, | ||
uint32 | height | ||
) |
internal method, gets called when the renderwindow was resized
|
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 |
ID3D11DepthStencilView* Ogre::D3D11DepthBuffer::getDepthStencilView | ( | uint8 | viewportRenderTargetFlags | ) |
ID3D11ShaderResourceView* Ogre::D3D11DepthBuffer::getDepthTextureView | ( | ) | 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. |
Reimplemented from Ogre::DepthBuffer.
|
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 |