OGRE 1.12.10
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::GL3PlusHardwareBufferManager Class Reference

Implementation of HardwareBufferManager for OpenGL. More...

#include <OgreGL3PlusHardwareBufferManager.h>

Inheritance diagram for Ogre::GL3PlusHardwareBufferManager:

Public Member Functions

 GL3PlusHardwareBufferManager ()
 ~GL3PlusHardwareBufferManager ()
HardwareCounterBufferSharedPtr createCounterBuffer (size_t sizeBytes, HardwareBuffer::Usage usage, bool useShadowBuffer, const String &name="")
 Create a counter buffer.
HardwareIndexBufferSharedPtr createIndexBuffer (HardwareIndexBuffer::IndexType itype, size_t numIndexes, HardwareBuffer::Usage usage, bool useShadowBuffer=false)
 Create a hardware vertex buffer.
RenderToVertexBufferSharedPtr createRenderToVertexBuffer ()
 Create a render to vertex buffer.
HardwareUniformBufferSharedPtr createShaderStorageBuffer (size_t sizeBytes, HardwareBuffer::Usage usage=HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE, bool useShadowBuffer=false, const String &name="")
 Create a shader storage buffer.
HardwareUniformBufferSharedPtr createUniformBuffer (size_t sizeBytes, HardwareBuffer::Usage usage=HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE, bool useShadowBuffer=false, const String &name="")
 Create a uniform buffer.
HardwareVertexBufferSharedPtr createVertexBuffer (size_t vertexSize, size_t numVerts, HardwareBuffer::Usage usage, bool useShadowBuffer=false)
 Creates a vertex buffer.
size_t getShaderStorageBufferCount ()
GL3PlusStateCacheManagergetStateCacheManager ()
size_t getUniformBufferCount ()
void notifyContextDestroyed (GLContext *context)
Public Member Functions inherited from Ogre::HardwareBufferManager
 HardwareBufferManager ()
 ~HardwareBufferManager ()
Public Member Functions inherited from Ogre::HardwareBufferManagerBase
 HardwareBufferManagerBase ()
virtual ~HardwareBufferManagerBase ()
void _forceReleaseBufferCopies (const HardwareVertexBufferSharedPtr &sourceBuffer)
 Internal method that forces the release of copies of a given buffer.
void _forceReleaseBufferCopies (HardwareVertexBuffer *sourceBuffer)
 Internal method that forces the release of copies of a given buffer.
void _freeUnusedBufferCopies (void)
 Free all unused vertex buffer copies.
void _notifyCounterBufferDestroyed (HardwareCounterBuffer *buf)
 Notification that at hardware counter buffer has been destroyed.
void _notifyIndexBufferDestroyed (HardwareIndexBuffer *buf)
 Notification that a hardware index buffer has been destroyed.
void _notifyUniformBufferDestroyed (HardwareUniformBuffer *buf)
 Notification that at hardware uniform buffer has been destroyed.
void _notifyVertexBufferDestroyed (HardwareVertexBuffer *buf)
 Notification that a hardware vertex buffer has been destroyed.
void _releaseBufferCopies (bool forceFreeUnused=false)
 Internal method for releasing all temporary buffers which have been allocated using BLT_AUTOMATIC_RELEASE; is called by OGRE.
HardwareVertexBufferSharedPtr allocateVertexBufferCopy (const HardwareVertexBufferSharedPtr &sourceBuffer, BufferLicenseType licenseType, HardwareBufferLicensee *licensee, bool copyData=false)
 Allocates a copy of a given vertex buffer.
VertexBufferBindingcreateVertexBufferBinding (void)
 Creates a new VertexBufferBinding.
VertexDeclarationcreateVertexDeclaration (void)
 Creates a new vertex declaration.
void destroyVertexBufferBinding (VertexBufferBinding *binding)
 Destroys a VertexBufferBinding.
void destroyVertexDeclaration (VertexDeclaration *decl)
 Destroys a vertex declaration.
virtual void registerVertexBufferSourceAndCopy (const HardwareVertexBufferSharedPtr &sourceBuffer, const HardwareVertexBufferSharedPtr &copy)
 Registers a vertex buffer as a copy of another.
void releaseVertexBufferCopy (const HardwareVertexBufferSharedPtr &bufferCopy)
 Manually release a vertex buffer copy for others to subsequently use.
void touchVertexBufferCopy (const HardwareVertexBufferSharedPtr &bufferCopy)
 Tell engine that the vertex buffer copy intent to reuse.
Public Member Functions inherited from Ogre::Singleton< HardwareBufferManager >
 ~Singleton (void)

Static Public Member Functions

static GLenum getGLType (VertexElementType type)
 Utility function to get the correct GL type based on VET's.
Static Public Member Functions inherited from Ogre::HardwareBufferManager
static HardwareBufferManagergetSingleton (void)
 Get the singleton instance.
static HardwareBufferManagergetSingletonPtr (void)
 Get the singleton instance.
Static Public Member Functions inherited from Ogre::Singleton< HardwareBufferManager >
static HardwareBufferManagergetSingleton (void)
 Get the singleton instance.
static HardwareBufferManagergetSingletonPtr (void)
 Get the singleton instance.

Additional Inherited Members

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

Detailed Description

Implementation of HardwareBufferManager for OpenGL.

Constructor & Destructor Documentation

◆ GL3PlusHardwareBufferManager()

Ogre::GL3PlusHardwareBufferManager::GL3PlusHardwareBufferManager ( )

◆ ~GL3PlusHardwareBufferManager()

Ogre::GL3PlusHardwareBufferManager::~GL3PlusHardwareBufferManager ( )

Member Function Documentation

◆ createVertexBuffer()

HardwareVertexBufferSharedPtr Ogre::GL3PlusHardwareBufferManager::createVertexBuffer ( size_t vertexSize,
size_t numVerts,
HardwareBuffer::Usage usage,
bool useShadowBuffer = false )
virtual

Creates a vertex buffer.

Implements Ogre::HardwareBufferManagerBase.

◆ createIndexBuffer()

HardwareIndexBufferSharedPtr Ogre::GL3PlusHardwareBufferManager::createIndexBuffer ( HardwareIndexBuffer::IndexType itype,
size_t numIndexes,
HardwareBuffer::Usage usage,
bool useShadowBuffer = false )
virtual

Create a hardware vertex buffer.

Implements Ogre::HardwareBufferManagerBase.

◆ createUniformBuffer()

HardwareUniformBufferSharedPtr Ogre::GL3PlusHardwareBufferManager::createUniformBuffer ( size_t sizeBytes,
HardwareBuffer::Usage usage = HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE,
bool useShadowBuffer = false,
const String & name = "" )
virtual

Create a uniform buffer.

Reimplemented from Ogre::HardwareBufferManagerBase.

References Ogre::HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE.

◆ createShaderStorageBuffer()

HardwareUniformBufferSharedPtr Ogre::GL3PlusHardwareBufferManager::createShaderStorageBuffer ( size_t sizeBytes,
HardwareBuffer::Usage usage = HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE,
bool useShadowBuffer = false,
const String & name = "" )

Create a shader storage buffer.

References Ogre::HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE.

◆ createCounterBuffer()

HardwareCounterBufferSharedPtr Ogre::GL3PlusHardwareBufferManager::createCounterBuffer ( size_t sizeBytes,
HardwareBuffer::Usage usage,
bool useShadowBuffer,
const String & name = "" )
virtual

Create a counter buffer.

Reimplemented from Ogre::HardwareBufferManagerBase.

◆ createRenderToVertexBuffer()

RenderToVertexBufferSharedPtr Ogre::GL3PlusHardwareBufferManager::createRenderToVertexBuffer ( )
virtual

Create a render to vertex buffer.

Reimplemented from Ogre::HardwareBufferManagerBase.

◆ getUniformBufferCount()

size_t Ogre::GL3PlusHardwareBufferManager::getUniformBufferCount ( )
inline

◆ getShaderStorageBufferCount()

size_t Ogre::GL3PlusHardwareBufferManager::getShaderStorageBufferCount ( )
inline

◆ getGLType()

GLenum Ogre::GL3PlusHardwareBufferManager::getGLType ( VertexElementType type)
static

Utility function to get the correct GL type based on VET's.

◆ getStateCacheManager()

GL3PlusStateCacheManager * Ogre::GL3PlusHardwareBufferManager::getStateCacheManager ( )

◆ notifyContextDestroyed()

void Ogre::GL3PlusHardwareBufferManager::notifyContextDestroyed ( GLContext * context)

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