OGRE-Next  3.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::GL3PlusBufferInterface Class Reference

For GL3+, most (if not all) buffers, can be treated with the same code. More...

#include <OgreGL3PlusBufferInterface.h>

+ Inheritance diagram for Ogre::GL3PlusBufferInterface:

Public Member Functions

 GL3PlusBufferInterface (size_t vboPoolIdx, GLuint vboName, GL3PlusDynamicBuffer *dynamicBuffer)
 ~GL3PlusBufferInterface () override
void _firstUpload (void *data, size_t elementStart, size_t elementCount)
 Only use this function for the first upload. More...
void _setVboPoolIndex (size_t newVboPool)
void advanceFrame () override
void copyTo (BufferInterface *dstBuffer, size_t dstOffsetBytes, size_t srcOffsetBytes, size_t sizeBytes) override
GLuint getVboName () const
size_t getVboPoolIndex ()
void *RESTRICT_ALIAS_RETURN map (size_t elementStart, size_t elementCount, MappingState prevMappingState, bool advanceFrame=true) override
void regressFrame () override
void unmap (UnmapOptions unmapOption, size_t flushStartElem=0, size_t flushSizeElem=0) override
- Public Member Functions inherited from Ogre::BufferInterface
 BufferInterface ()
virtual ~BufferInterface ()
virtual void _ensureDelayedImmutableBuffersAreReady ()
virtual void _notifyBuffer (BufferPacked *buffer)
BufferPackedgetBufferPacked ()
void upload (const void *data, size_t elementStart, size_t elementCount)

Detailed Description

For GL3+, most (if not all) buffers, can be treated with the same code.

Hence most equivalent functionality is encapsulated here.

Constructor & Destructor Documentation

◆ GL3PlusBufferInterface()

Ogre::GL3PlusBufferInterface::GL3PlusBufferInterface ( size_t  vboPoolIdx,
GLuint  vboName,
GL3PlusDynamicBuffer dynamicBuffer 

◆ ~GL3PlusBufferInterface()

Ogre::GL3PlusBufferInterface::~GL3PlusBufferInterface ( )

Member Function Documentation

◆ _firstUpload()

void Ogre::GL3PlusBufferInterface::_firstUpload ( void *  data,
size_t  elementStart,
size_t  elementCount 

Only use this function for the first upload.

◆ _setVboPoolIndex()

void Ogre::GL3PlusBufferInterface::_setVboPoolIndex ( size_t  newVboPool)

◆ advanceFrame()

void Ogre::GL3PlusBufferInterface::advanceFrame ( )

Implements Ogre::BufferInterface.

◆ copyTo()

void Ogre::GL3PlusBufferInterface::copyTo ( BufferInterface dstBuffer,
size_t  dstOffsetBytes,
size_t  srcOffsetBytes,
size_t  sizeBytes 

Implements Ogre::BufferInterface.

◆ getVboName()

GLuint Ogre::GL3PlusBufferInterface::getVboName ( ) const

◆ getVboPoolIndex()

size_t Ogre::GL3PlusBufferInterface::getVboPoolIndex ( )

◆ map()

void* RESTRICT_ALIAS_RETURN Ogre::GL3PlusBufferInterface::map ( size_t  elementStart,
size_t  elementCount,
MappingState  prevMappingState,
bool  advanceFrame = true 

Implements Ogre::BufferInterface.

◆ regressFrame()

void Ogre::GL3PlusBufferInterface::regressFrame ( )

Implements Ogre::BufferInterface.

◆ unmap()

void Ogre::GL3PlusBufferInterface::unmap ( UnmapOptions  unmapOption,
size_t  flushStartElem = 0,
size_t  flushSizeElem = 0 

Implements Ogre::BufferInterface.

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