#include <OgreD3D7HardwareBufferManager.h>
Inheritance diagram for Ogre::D3D7HardwareBufferManager:
Public Types | |
enum | BufferLicenseType { BLT_MANUAL_RELEASE, BLT_AUTOMATIC_RELEASE } |
Public Methods | |
D3D7HardwareBufferManager () | |
~D3D7HardwareBufferManager () | |
HardwareIndexBufferSharedPtr | createIndexBuffer (HardwareIndexBuffer::IndexType itype, size_t numIndexes, HardwareBuffer::Usage usage, bool useShadowBuffer=false) |
Create a hardware index buffer. | |
HardwareVertexBufferSharedPtr | createVertexBuffer (size_t vertexSize, size_t numVerts, HardwareBuffer::Usage usage, bool useShadowBuffer=false) |
Creates a vertex buffer. | |
virtual VertexDeclaration * | createVertexDeclaration (void) |
Creates a vertex declaration, may be overridden by certain rendering APIs. | |
virtual void | destroyVertexDeclaration (VertexDeclaration *decl) |
Destroys a vertex declaration, may be overridden by certain rendering APIs. | |
virtual VertexBufferBinding * | createVertexBufferBinding (void) |
Creates a new VertexBufferBinding. | |
virtual void | destroyVertexBufferBinding (VertexBufferBinding *binding) |
Destroys a VertexBufferBinding. | |
virtual void | registerVertexBufferSourceAndCopy (const HardwareVertexBufferSharedPtr &sourceBuffer, const HardwareVertexBufferSharedPtr ©) |
Registers a vertex buffer as a copy of another. | |
virtual HardwareVertexBufferSharedPtr | allocateVertexBufferCopy (const HardwareVertexBufferSharedPtr &sourceBuffer, BufferLicenseType licenseType, HardwareBufferLicensee *licensee, bool copyData=false) |
Allocates a copy of a given vertex buffer. | |
virtual void | releaseVertexBufferCopy (const HardwareVertexBufferSharedPtr &bufferCopy) |
Manually release a vertex buffer copy for others to subsequently use. | |
virtual void | _releaseBufferCopies (void) |
Internal method for releasing all temporary buffers which have been allocated using BLT_AUTOMATIC_RELEASE; is called by OGRE. | |
virtual void | _forceReleaseBufferCopies (const HardwareVertexBufferSharedPtr &sourceBuffer) |
Internal method that forces the release of copies of a given buffer. | |
Static Public Methods | |
HardwareBufferManager & | getSingleton (void) |
Override standard Singleton retrieval. | |
HardwareBufferManager * | getSingletonPtr (void) |
Override standard Singleton retrieval. | |
Protected Types | |
typedef std::list< VertexDeclaration * > | VertexDeclarationList |
typedef std::list< VertexBufferBinding * > | VertexBufferBindingList |
typedef std::set< HardwareVertexBuffer * > | VertexBufferList |
typedef std::set< HardwareIndexBuffer * > | IndexBufferList |
typedef std::vector< HardwareVertexBufferSharedPtr > | FreeTemporaryVertexBufferList |
List of free temporary vertex buffers. | |
typedef std::map< HardwareVertexBuffer *, FreeTemporaryVertexBufferList * > | FreeTemporaryVertexBufferMap |
Map from original buffer to list of temporary buffers. | |
typedef std::vector< VertexBufferLicense > | TemporaryVertexBufferLicenseList |
List of currently licensed temp buffers. | |
Protected Methods | |
void | destroyVertexBuffer (HardwareVertexBuffer *buf) |
Destroy a hardware vertex buffer. | |
void | destroyIndexBuffer (HardwareIndexBuffer *buf) |
Destroy a hardware index buffer. | |
virtual void | destroyAllDeclarations (void) |
virtual void | destroyAllBindings (void) |
HardwareVertexBufferSharedPtr | makeBufferCopy (const HardwareVertexBufferSharedPtr &source, HardwareBuffer::Usage usage, bool useShadowBuffer) |
Creates a new buffer as a copy of the source, does not copy data. | |
Protected Attributes | |
VertexDeclarationList | mVertexDeclarations |
VertexBufferBindingList | mVertexBufferBindings |
VertexBufferList | mVertexBuffers |
IndexBufferList | mIndexBuffers |
FreeTemporaryVertexBufferMap | mFreeTempVertexBufferMap |
Map of current available temp buffers. | |
TemporaryVertexBufferLicenseList | mTempVertexBufferLicenses |
List of currently licensed temp buffers. | |
Static Protected Attributes | |
HardwareBufferManager * | ms_Singleton = 0 |
Definition at line 43 of file OgreD3D7HardwareBufferManager.h.
|
List of free temporary vertex buffers.
Definition at line 138 of file OgreHardwareBufferManager.h. Referenced by Ogre::HardwareBufferManager::allocateVertexBufferCopy(), and Ogre::HardwareBufferManager::registerVertexBufferSourceAndCopy(). |
|
Map from original buffer to list of temporary buffers.
Definition at line 140 of file OgreHardwareBufferManager.h. |
|
Definition at line 93 of file OgreHardwareBufferManager.h. |
|
List of currently licensed temp buffers.
Definition at line 144 of file OgreHardwareBufferManager.h. |
|
Definition at line 91 of file OgreHardwareBufferManager.h. |
|
Definition at line 92 of file OgreHardwareBufferManager.h. |
|
Definition at line 90 of file OgreHardwareBufferManager.h. |
|
Definition at line 111 of file OgreHardwareBufferManager.h. |
|
Definition at line 46 of file OgreD3D7HardwareBufferManager.h. |
|
Definition at line 47 of file OgreD3D7HardwareBufferManager.h. |
|
Internal method that forces the release of copies of a given buffer.
Definition at line 237 of file OgreHardwareBufferManager.cpp. References Ogre::HardwareBufferManager::VertexBufferLicense::buffer, Ogre::SharedPtr< HardwareVertexBuffer >::get(), Ogre::HardwareBufferManager::VertexBufferLicense::licensee, Ogre::HardwareBufferLicensee::licenseExpired(), Ogre::HardwareBufferManager::mFreeTempVertexBufferMap, Ogre::HardwareBufferManager::mTempVertexBufferLicenses, and Ogre::HardwareBufferManager::VertexBufferLicense::originalBufferPtr. |
|
Internal method for releasing all temporary buffers which have been allocated using BLT_AUTOMATIC_RELEASE; is called by OGRE.
Definition at line 210 of file OgreHardwareBufferManager.cpp. References Ogre::HardwareBufferManager::BLT_AUTOMATIC_RELEASE, Ogre::HardwareBufferManager::VertexBufferLicense::buffer, Ogre::HardwareBufferManager::VertexBufferLicense::licenseType, Ogre::HardwareBufferManager::mFreeTempVertexBufferMap, Ogre::HardwareBufferManager::mTempVertexBufferLicenses, and Ogre::HardwareBufferManager::VertexBufferLicense::originalBufferPtr. |
|
Allocates a copy of a given vertex buffer.
Definition at line 136 of file OgreHardwareBufferManager.cpp. References Ogre::HardwareBufferManager::FreeTemporaryVertexBufferList, Ogre::SharedPtr< HardwareVertexBuffer >::get(), Ogre::SharedPtr< HardwareVertexBuffer >::getPointer(), Ogre::HardwareBufferManager::makeBufferCopy(), Ogre::HardwareBufferManager::mFreeTempVertexBufferMap, and Ogre::HardwareBufferManager::mTempVertexBufferLicenses. Referenced by Ogre::TempBlendedBufferInfo::checkoutTempCopies(). |
|
Create a hardware index buffer.
Reimplemented from Ogre::DefaultHardwareBufferManager. Definition at line 50 of file OgreD3D7HardwareBufferManager.h. References Except. |
|
Creates a vertex buffer.
Implements Ogre::HardwareBufferManager. Definition at line 165 of file OgreDefaultHardwareBufferManager.cpp. References Ogre::HardwareBufferManager::HardwareVertexBufferSharedPtr, and Ogre::HardwareBufferManager::mVertexBuffers. |
|
Creates a new VertexBufferBinding.
Definition at line 77 of file OgreHardwareBufferManager.cpp. References Ogre::HardwareBufferManager::mVertexBufferBindings. |
|
Creates a vertex declaration, may be overridden by certain rendering APIs.
Reimplemented in Ogre::D3D9HardwareBufferManager, and Ogre::GLHardwareBufferManager. Definition at line 63 of file OgreHardwareBufferManager.cpp. References Ogre::HardwareBufferManager::mVertexDeclarations. |
|
|
Reimplemented in Ogre::D3D9HardwareBufferManager. Definition at line 90 of file OgreHardwareBufferManager.cpp. References Ogre::HardwareBufferManager::mVertexDeclarations. Referenced by Ogre::DefaultHardwareBufferManager::~DefaultHardwareBufferManager(), Ogre::GLDefaultHardwareBufferManager::~GLDefaultHardwareBufferManager(), Ogre::GLHardwareBufferManager::~GLHardwareBufferManager(), and Ogre::HardwareBufferManager::~HardwareBufferManager(). |
|
Destroy a hardware index buffer.
Implements Ogre::HardwareBufferManager. Definition at line 144 of file OgreDefaultHardwareBufferManager.cpp. References Ogre::HardwareBufferManager::mIndexBuffers. |
|
Destroy a hardware vertex buffer.
Implements Ogre::HardwareBufferManager. Definition at line 134 of file OgreDefaultHardwareBufferManager.cpp. References Ogre::HardwareBufferManager::mVertexBuffers. |
|
Destroys a VertexBufferBinding.
Definition at line 84 of file OgreHardwareBufferManager.cpp. References Ogre::HardwareBufferManager::mVertexBufferBindings. |
|
Destroys a vertex declaration, may be overridden by certain rendering APIs.
Reimplemented in Ogre::D3D9HardwareBufferManager, and Ogre::GLHardwareBufferManager. Definition at line 71 of file OgreHardwareBufferManager.cpp. References Ogre::HardwareBufferManager::mVertexDeclarations. |
|
Override standard Singleton retrieval.
Reimplemented from Ogre::Singleton< HardwareBufferManager >. Definition at line 38 of file OgreHardwareBufferManager.cpp. References Ogre::Singleton< HardwareBufferManager >::ms_Singleton. |
|
Override standard Singleton retrieval.
Reimplemented from Ogre::Singleton< HardwareBufferManager >. Definition at line 34 of file OgreHardwareBufferManager.cpp. References Ogre::Singleton< HardwareBufferManager >::ms_Singleton. |
|
Creates a new buffer as a copy of the source, does not copy data.
Definition at line 278 of file OgreHardwareBufferManager.cpp. References Ogre::HardwareBufferManager::createVertexBuffer(). Referenced by Ogre::HardwareBufferManager::allocateVertexBufferCopy(). |
|
Registers a vertex buffer as a copy of another.
Definition at line 111 of file OgreHardwareBufferManager.cpp. References Ogre::HardwareBufferManager::FreeTemporaryVertexBufferList, Ogre::SharedPtr< HardwareVertexBuffer >::getPointer(), and Ogre::HardwareBufferManager::mFreeTempVertexBufferMap. |
|
Manually release a vertex buffer copy for others to subsequently use.
Definition at line 186 of file OgreHardwareBufferManager.cpp. References Ogre::HardwareBufferManager::VertexBufferLicense::buffer, Ogre::SharedPtr< HardwareVertexBuffer >::getPointer(), Ogre::HardwareBufferManager::mFreeTempVertexBufferMap, Ogre::HardwareBufferManager::mTempVertexBufferLicenses, and Ogre::HardwareBufferManager::VertexBufferLicense::originalBufferPtr. |
|
Map of current available temp buffers.
Definition at line 142 of file OgreHardwareBufferManager.h. Referenced by Ogre::HardwareBufferManager::_forceReleaseBufferCopies(), Ogre::HardwareBufferManager::_releaseBufferCopies(), Ogre::HardwareBufferManager::allocateVertexBufferCopy(), Ogre::HardwareBufferManager::registerVertexBufferSourceAndCopy(), Ogre::HardwareBufferManager::releaseVertexBufferCopy(), and Ogre::HardwareBufferManager::~HardwareBufferManager(). |
|
Definition at line 98 of file OgreHardwareBufferManager.h. Referenced by Ogre::DefaultHardwareBufferManager::createIndexBuffer(), and Ogre::DefaultHardwareBufferManager::destroyIndexBuffer(). |
|
Definition at line 33 of file OgreHardwareBufferManager.cpp. Referenced by Ogre::HardwareBufferManager::getSingleton(), and Ogre::HardwareBufferManager::getSingletonPtr(). |
|
List of currently licensed temp buffers.
Definition at line 146 of file OgreHardwareBufferManager.h. Referenced by Ogre::HardwareBufferManager::_forceReleaseBufferCopies(), Ogre::HardwareBufferManager::_releaseBufferCopies(), Ogre::HardwareBufferManager::allocateVertexBufferCopy(), and Ogre::HardwareBufferManager::releaseVertexBufferCopy(). |
|
Definition at line 96 of file OgreHardwareBufferManager.h. Referenced by Ogre::HardwareBufferManager::createVertexBufferBinding(), Ogre::HardwareBufferManager::destroyAllBindings(), and Ogre::HardwareBufferManager::destroyVertexBufferBinding(). |
|
Definition at line 97 of file OgreHardwareBufferManager.h. Referenced by Ogre::DefaultHardwareBufferManager::createVertexBuffer(), and Ogre::DefaultHardwareBufferManager::destroyVertexBuffer(). |
|
Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:49:22 2004