Buffer

Buffer interface.

Overview

Typical use cases:

  • Defining a common interface for different buffer types

Header

<RaeptorCogs/GAPI/Common/Ressources/Buffer.hpp>

Metadata

Author

Estorc

Version

v1.0

Copyright

Copyright (c) 2025 Estorc MIT License.

Types

Type Definitions

Type

Description

RaeptorCogs::GAPI::Common::EBO

Type alias for Elementbuffer.

RaeptorCogs::GAPI::Common::FBO

Type aliases for common buffer types.

RaeptorCogs::GAPI::Common::RBO

Type alias for Renderbuffer.

RaeptorCogs::GAPI::Common::SSBO

Type alias for ShaderStorageBuffer.

RaeptorCogs::GAPI::Common::VBO

Type alias for Vertexbuffer.

using RaeptorCogs::GAPI::Common::EBO = Elementbuffer

Type alias for Elementbuffer.

Provides a convenient name for the Elementbuffer type.

using RaeptorCogs::GAPI::Common::FBO = Framebuffer

Type aliases for common buffer types.

These aliases provide convenient names for commonly used buffer types.

using RaeptorCogs::GAPI::Common::RBO = Renderbuffer

Type alias for Renderbuffer.

Provides a convenient name for the Renderbuffer type.

using RaeptorCogs::GAPI::Common::SSBO = ShaderStorageBuffer

Type alias for ShaderStorageBuffer.

Provides a convenient name for the ShaderStorageBuffer type.

using RaeptorCogs::GAPI::Common::VBO = Vertexbuffer

Type alias for Vertexbuffer.

Provides a convenient name for the Vertexbuffer type.

Classes

Classes

Class

Description

RaeptorCogs::GAPI::Common::Buffer

Buffer interface.

RaeptorCogs::GAPI::Common::Elementbuffer

Elementbuffer class.

RaeptorCogs::GAPI::Common::Framebuffer

Framebuffer class.

RaeptorCogs::GAPI::Common::Renderbuffer

Renderbuffer class.

RaeptorCogs::GAPI::Common::ShaderStorageBuffer

ShaderStorageBuffer class.

RaeptorCogs::GAPI::Common::Vertexbuffer

Vertexbuffer class.

class Buffer : public RaeptorCogs::GAPI::Common::ObjectData

Buffer interface.

Provides a common interface for different buffer types.

Note

This is an abstract base class and should be inherited by specific buffer implementations.

Subclassed by RaeptorCogs::GAPI::Common::Elementbuffer, RaeptorCogs::GAPI::Common::Framebuffer, RaeptorCogs::GAPI::Common::Renderbuffer, RaeptorCogs::GAPI::Common::ShaderStorageBuffer, RaeptorCogs::GAPI::Common::Vertexbuffer

class Elementbuffer : public RaeptorCogs::GAPI::Common::Buffer

Elementbuffer class.

Represents an element buffer object and provides utilities for handling it.

Note

This is a derived class from Buffer. This is an abstract representation; specific implementations should provide concrete functionality.

Subclassed by RaeptorCogs::GAPI::GL::Elementbuffer, RaeptorCogs::GAPI::Vulkan::Elementbuffer

class Framebuffer : public RaeptorCogs::GAPI::Common::Buffer

Framebuffer class.

Represents a framebuffer object and provides utilities for handling it.

Note

This is a derived class from Buffer. This is an abstract representation; specific implementations should provide concrete functionality.

Subclassed by RaeptorCogs::GAPI::GL::Framebuffer, RaeptorCogs::GAPI::Vulkan::Framebuffer

class Renderbuffer : public RaeptorCogs::GAPI::Common::Buffer

Renderbuffer class.

Represents a renderbuffer object and provides utilities for handling it.

Note

This is a derived class from Buffer. This is an abstract representation; specific implementations should provide concrete functionality.

Subclassed by RaeptorCogs::GAPI::GL::Renderbuffer, RaeptorCogs::GAPI::Vulkan::Renderbuffer

class ShaderStorageBuffer : public RaeptorCogs::GAPI::Common::Buffer

ShaderStorageBuffer class.

Represents a shader storage buffer object and provides utilities for handling it.

Note

This is a derived class from Buffer. This is an abstract representation; specific implementations should provide concrete functionality.

Subclassed by RaeptorCogs::GAPI::GL::ShaderStorageBuffer, RaeptorCogs::GAPI::Vulkan::ShaderStorageBuffer

class Vertexbuffer : public RaeptorCogs::GAPI::Common::Buffer

Vertexbuffer class.

Represents a vertex buffer object and provides utilities for handling it.

Note

This is a derived class from Buffer. This is an abstract representation; specific implementations should provide concrete functionality.

Subclassed by RaeptorCogs::GAPI::GL::Vertexbuffer, RaeptorCogs::GAPI::Vulkan::Vertexbuffer