|
CeresEngine 0.2.0
A game development framework
|
#include <CeresEngine/RenderAPI/OpenGL/GLBuffer.hpp>
Public Member Functions | |
| GLVertexBuffer (GLDevicePtr device, const GPUBufferDescriptor &descriptor) | |
| Creates a new OpenGL vertex buffer object. | |
Public Member Functions inherited from CeresEngine::GLBuffer | |
| GLBuffer (GLDevicePtr device, const GPUBufferDescriptor &descriptor, GLenum type) | |
| Creates a new OpenGL buffer object. | |
| ~GLBuffer () override | |
| Destroys the buffer object and releases the GPU memory. | |
| GPUBufferData | map () final |
| void | unmap () final |
| GPUBufferSize | getSize () const final |
| void | flush (GPUBufferSize offset=0, GPUBufferSize size=whole) final |
| void | invalidate (GPUBufferSize offset=0, GPUBufferSize size=whole) final |
| GLuint | handle () const |
| GLenum | getType () const |
Public Member Functions inherited from CeresEngine::GPUBuffer | |
| GPUBuffer (const GPUBuffer &)=delete | |
| Deleted copy constructor. | |
| GPUBuffer & | operator= (const GPUBuffer &)=delete |
| GPUBuffer (GPUBuffer &&)=delete | |
| Deleted move constructor. | |
| GPUBuffer & | operator= (GPUBuffer &&)=delete |
| Async< ByteBuffer > | read (GPUBufferSize offset=0, GPUBufferSize size=whole) |
| Performs an asynchronous read operation on the buffer. | |
| Async< ByteBuffer > | read (GPUCommandBuffer &commandBuffer, GPUBufferSize offset=0, GPUBufferSize size=whole) |
| Performs an asynchronous read operation on the buffer in an specific command buffer. | |
| Async | write (ByteBuffer &&rawData, GPUBufferSize offset=0, GPUBufferSize size=whole) |
| Performs an asynchronous write operation on the buffer. | |
| Async | write (GPUCommandBuffer &commandBuffer, ByteBuffer &&rawData, GPUBufferSize offset=0, GPUBufferSize size=whole) |
| Performs an asynchronous write operation on the buffer in an specific command buffer. | |
| template<typename Block > | |
| void | data (Block &&block) |
Executes block with a pointer that gives direct access to the buffer data. | |
| TDeviceObject (GPUDevice &device, const Descriptor &descriptor) | |
| Inherited constructors. | |
| TDeviceObject (const TDeviceObject &)=delete | |
| Inherited constructors. | |
| TDeviceObject (TDeviceObject &&)=delete | |
| Inherited constructors. | |
Public Member Functions inherited from CeresEngine::TDeviceObject< GPUBufferDescriptor, GPUResource > | |
| TDeviceObject (GPUDevice &device, const Descriptor &descriptor) | |
| Initializes a new RenderAPI device object instance. | |
| TDeviceObject (const TDeviceObject &)=delete | |
| TDeviceObject (TDeviceObject &&)=delete | |
| ~TDeviceObject () override=default | |
| TDeviceObject & | operator= (const TDeviceObject &)=delete |
| TDeviceObject & | operator= (TDeviceObject &&)=delete |
Public Member Functions inherited from CeresEngine::GPUResource | |
| GPUDeviceObject (GPUDevice &device) | |
Public Member Functions inherited from CeresEngine::GPUDeviceObject | |
| GPUDeviceObject (GPUDevice &device) | |
| ~GPUDeviceObject () override | |
Public Member Functions inherited from CeresEngine::GPUObject | |
| GPUObject ()=default | |
| virtual | ~GPUObject ()=default |
| GPUObject (const GPUObject &)=delete | |
| GPUObject & | operator= (const GPUObject &)=delete |
| GPUObject (GPUObject &&)=delete | |
| GPUObject & | operator= (GPUObject &&)=delete |
| void | retain () noexcept |
| Retains the object by increment it's reference count by one. | |
| bool | release () noexcept |
| Releases the object by decrementing it's reference count by one. | |
Additional Inherited Members | |
Public Types inherited from CeresEngine::TDeviceObject< GPUBufferDescriptor, GPUResource > | |
| using | Descriptor = GPUBufferDescriptor |
| An type-alias to the descriptor struct type. | |
Static Public Member Functions inherited from CeresEngine::GLObject< ChildTypeName, ParentType > | |
| static RC< ChildTypeName > | cast (const RC< ParentType > &ptr) |
Casts a RC containing a ParentType pointer to a pointer to a pointer to a ChildTypeName. | |
| static RC< ChildTypeName > | safeCast (const RC< ParentType > &ptr) |
Safely casts a RC containing a ParentType pointer to a pointer to a pointer to a ChildTypeName. | |
| static ChildTypeName & | cast (ParentType &object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static const ChildTypeName & | cast (const ParentType &object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static ChildTypeName * | cast (ParentType *object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static const ChildTypeName * | cast (const ParentType *object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static ChildTypeName * | safeCast (ParentType *object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static const ChildTypeName * | safeCast (const ParentType *object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
Public Attributes inherited from CeresEngine::TDeviceObject< GPUBufferDescriptor, GPUResource > | |
| const Descriptor & | descriptor |
| A structure that describes the object and it's properties. | |
Public Attributes inherited from CeresEngine::GPUDeviceObject | |
| GPUDevice & | device |
| The owning device this object was created from. | |
Static Public Attributes inherited from CeresEngine::GPUBuffer | |
| static const constexpr GPUBufferSize | whole = ~0UL |
| A constant the represents the whole buffer length. | |
Protected Member Functions inherited from CeresEngine::GPUObject | |
| virtual void | destroy () noexcept |
| A internal method called by the system when the object reference count reaches zero. | |
Protected Member Functions inherited from CeresEngine::GLDeviceObject< GLBuffer, GPUBuffer > | |
| GLDeviceObject (GLDevicePtr device) | |
Creates a new GLDeviceObject from the given device. | |
Protected Attributes inherited from CeresEngine::GLDeviceObject< GLBuffer, GPUBuffer > | |
| GLDevice & | deviceGL |
The owning GLDevice instance. | |
| CeresEngine::GLVertexBuffer::GLVertexBuffer | ( | GLDevicePtr | device, |
| const GPUBufferDescriptor & | descriptor | ||
| ) |
Creates a new OpenGL vertex buffer object.
| device | The device to allocate a new buffer from. |
| descriptor | The buffer descriptor |