#include <OgreMetalDepthBuffer.h>
|
| MetalDepthBuffer (uint16 poolId, MetalRenderSystem *renderSystem, uint32 width, uint32 height, uint32 fsaa, uint32 multiSampleQuality, PixelFormat pixelFormat, bool isDepthTexture, bool _isManual, id< MTLTexture > depthTexture, id< MTLTexture > stencilTexture, MetalDevice *device) |
|
virtual | ~MetalDepthBuffer () |
|
virtual void | _notifyRenderTargetAttached (RenderTarget *renderTarget) |
| Called when a RenderTarget is attaches this DepthBuffer.
|
|
virtual void | _notifyRenderTargetDetached (RenderTarget *renderTarget) |
| Called when a RenderTarget is detaches from this DepthBuffer.
|
|
void | _setPoolId (uint16 poolId) |
| Sets the pool id in which this DepthBuffer lives.
|
|
bool | copyTo (DepthBuffer *destination) |
| Copies the contents of the DepthBuffer to the destination.
|
|
virtual uint16 | getBitDepth () const |
|
PixelFormat | getFormat (void) const |
|
virtual uint32 | getFsaa () const |
|
virtual const String & | getFsaaHint () const |
|
virtual uint32 | getHeight () const |
|
MetalDevice * | getOwnerDevice (void) const |
|
virtual uint16 | getPoolId () const |
| Gets the pool id in which this DepthBuffer lives.
|
|
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.
|
|
bool | isDepthTexture (void) const |
|
bool | isManual () const |
| Manual DepthBuffers are cleared in RenderSystem's destructor.
|
|
void | operator delete (void *ptr) |
|
void | operator delete (void *ptr, const char *, int, const char *) |
|
void | operator delete (void *ptr, void *) |
|
void | operator delete[] (void *ptr) |
|
void | operator delete[] (void *ptr, const char *, int, const char *) |
|
void * | operator new (size_t sz) |
|
void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info
|
|
void * | operator new (size_t sz, void *ptr) |
| placement operator new
|
|
void * | operator new[] (size_t sz) |
|
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info
|
|
◆ PoolId
Enumerator |
---|
POOL_NO_DEPTH | |
POOL_MANUAL_USAGE | |
POOL_DEFAULT | |
POOL_NON_SHAREABLE | |
POOL_INVALID | |
◆ MetalDepthBuffer()
Ogre::MetalDepthBuffer::MetalDepthBuffer |
( |
uint16 |
poolId, |
|
|
MetalRenderSystem * |
renderSystem, |
|
|
uint32 |
width, |
|
|
uint32 |
height, |
|
|
uint32 |
fsaa, |
|
|
uint32 |
multiSampleQuality, |
|
|
PixelFormat |
pixelFormat, |
|
|
bool |
isDepthTexture, |
|
|
bool |
_isManual, |
|
|
id< MTLTexture > |
depthTexture, |
|
|
id< MTLTexture > |
stencilTexture, |
|
|
MetalDevice * |
device |
|
) |
| |
◆ ~MetalDepthBuffer()
virtual Ogre::MetalDepthBuffer::~MetalDepthBuffer |
( |
| ) |
|
|
virtual |
◆ _notifyRenderTargetAttached()
◆ _notifyRenderTargetDetached()
◆ _setPoolId()
void Ogre::DepthBuffer::_setPoolId |
( |
uint16 |
poolId | ) |
|
|
inherited |
Sets the pool id in which this DepthBuffer lives.
Note this will detach any render target from this depth buffer
◆ copyTo()
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)
- Parameters
-
- Returns
- False if failed to copy for hardware reasons (DX10 does not allow copying MSAA depth buffer; DX10.1 does)
◆ getBitDepth()
◆ getFormat()
◆ getFsaa()
◆ getFsaaHint()
◆ getHeight()
◆ getOwnerDevice()
◆ getPoolId()
◆ getWidth()
◆ isCompatible()
Returns whether the specified RenderTarget is compatible with this DepthBuffer That is, this DepthBuffer can be attached to that RenderTarget.
- Parameters
-
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.
◆ isDepthTexture()
bool Ogre::DepthBuffer::isDepthTexture |
( |
void |
| ) |
const |
|
inherited |
◆ isManual()
bool Ogre::DepthBuffer::isManual |
( |
| ) |
const |
|
inherited |
Manual DepthBuffers are cleared in RenderSystem's destructor.
Non-manual ones are released with it's render target (aka, a backbuffer or similar)
◆ operator delete() [1/3]
◆ operator delete() [2/3]
◆ operator delete() [3/3]
◆ operator delete[]() [1/2]
◆ operator delete[]() [2/2]
◆ operator new() [1/3]
◆ operator new() [2/3]
operator new, with debug line info
◆ operator new() [3/3]
◆ operator new[]() [1/2]
◆ operator new[]() [2/2]
array operator new, with debug line info
◆ DefaultDepthBufferFormat
PixelFormat Ogre::DepthBuffer::DefaultDepthBufferFormat |
|
staticinherited |
◆ mDepthAttachmentDesc
◆ mStencilAttachmentDesc
The documentation for this class was generated from the following file: