OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::v1::MetalHardwareBufferManagerBase Class Referencefinal

Implementation of HardwareBufferManager for Metal. More...

#include <OgreMetalHardwareBufferManager.h>

+ Inheritance diagram for Ogre::v1::MetalHardwareBufferManagerBase:

Public Member Functions

 MetalHardwareBufferManagerBase (MetalDevice *device, VaoManager *vaoManager)
 
 ~MetalHardwareBufferManagerBase () override
 
MetalDiscardBufferManager_getDiscardBufferManager ()
 
void _notifyDeviceStalled ()
 
HardwareIndexBufferSharedPtr createIndexBuffer (HardwareIndexBuffer::IndexType itype, size_t numIndexes, HardwareBuffer::Usage usage, bool useShadowBuffer=false) override
 Create an index buffer. More...
 
HardwareVertexBufferSharedPtr createVertexBuffer (size_t vertexSize, size_t numVerts, HardwareBuffer::Usage usage, bool useShadowBuffer=false) override
 Creates a vertex buffer. More...
 
- Public Member Functions inherited from Ogre::v1::HardwareBufferManagerBase
 HardwareBufferManagerBase ()
 
virtual ~HardwareBufferManagerBase ()
 
virtual void _forceReleaseBufferCopies (const HardwareVertexBufferSharedPtr &sourceBuffer)
 Internal method that forces the release of copies of a given buffer. More...
 
virtual void _forceReleaseBufferCopies (HardwareVertexBuffer *sourceBuffer)
 Internal method that forces the release of copies of a given buffer. More...
 
virtual void _freeUnusedBufferCopies ()
 Free all unused vertex buffer copies. More...
 
void _notifyIndexBufferDestroyed (HardwareIndexBuffer *buf)
 Notification that a hardware index buffer has been destroyed. More...
 
void _notifyVertexBufferDestroyed (HardwareVertexBuffer *buf)
 Notification that a hardware vertex buffer has been destroyed. More...
 
virtual void _releaseBufferCopies (bool forceFreeUnused=false)
 Internal method for releasing all temporary buffers which have been allocated using BLT_AUTOMATIC_RELEASE; is called by OGRE. More...
 
virtual HardwareVertexBufferSharedPtr allocateVertexBufferCopy (const HardwareVertexBufferSharedPtr &sourceBuffer, BufferLicenseType licenseType, HardwareBufferLicensee *licensee, bool copyData=false)
 Allocates a copy of a given vertex buffer. More...
 
virtual VertexBufferBindingcreateVertexBufferBinding ()
 Creates a new VertexBufferBinding. More...
 
virtual VertexDeclarationcreateVertexDeclaration ()
 Creates a new vertex declaration. More...
 
virtual void destroyVertexBufferBinding (VertexBufferBinding *binding)
 Destroys a VertexBufferBinding. More...
 
virtual void destroyVertexDeclaration (VertexDeclaration *decl)
 Destroys a vertex declaration. More...
 
virtual void registerVertexBufferSourceAndCopy (const HardwareVertexBufferSharedPtr &sourceBuffer, const HardwareVertexBufferSharedPtr &copy)
 Registers a vertex buffer as a copy of another. More...
 
virtual void releaseVertexBufferCopy (const HardwareVertexBufferSharedPtr &bufferCopy)
 Manually release a vertex buffer copy for others to subsequently use. More...
 
virtual void touchVertexBufferCopy (const HardwareVertexBufferSharedPtr &bufferCopy)
 Tell engine that the vertex buffer copy intent to reuse. More...
 

Additional Inherited Members

- Public Types inherited from Ogre::v1::HardwareBufferManagerBase
enum  BufferLicenseType { BLT_MANUAL_RELEASE , BLT_AUTOMATIC_RELEASE }
 

Detailed Description

Implementation of HardwareBufferManager for Metal.

Constructor & Destructor Documentation

◆ MetalHardwareBufferManagerBase()

Ogre::v1::MetalHardwareBufferManagerBase::MetalHardwareBufferManagerBase ( MetalDevice device,
VaoManager vaoManager 
)

◆ ~MetalHardwareBufferManagerBase()

Ogre::v1::MetalHardwareBufferManagerBase::~MetalHardwareBufferManagerBase ( )
override

Member Function Documentation

◆ _getDiscardBufferManager()

MetalDiscardBufferManager* Ogre::v1::MetalHardwareBufferManagerBase::_getDiscardBufferManager ( )
inline

◆ _notifyDeviceStalled()

void Ogre::v1::MetalHardwareBufferManagerBase::_notifyDeviceStalled ( )

◆ createIndexBuffer()

HardwareIndexBufferSharedPtr Ogre::v1::MetalHardwareBufferManagerBase::createIndexBuffer ( HardwareIndexBuffer::IndexType  itype,
size_t  numIndexes,
HardwareBuffer::Usage  usage,
bool  useShadowBuffer = false 
)
overridevirtual

Create an index buffer.

Implements Ogre::v1::HardwareBufferManagerBase.

◆ createVertexBuffer()

HardwareVertexBufferSharedPtr Ogre::v1::MetalHardwareBufferManagerBase::createVertexBuffer ( size_t  vertexSize,
size_t  numVerts,
HardwareBuffer::Usage  usage,
bool  useShadowBuffer = false 
)
overridevirtual

Creates a vertex buffer.

Implements Ogre::v1::HardwareBufferManagerBase.


The documentation for this class was generated from the following file: