Sparkle 0.0.1
Loading...
Searching...
No Matches
spk_buffer_set_object.hpp
1#pragma once
2
3#include "structure/design_pattern/spk_activable_object.hpp"
4#include "structure/design_pattern/spk_synchronizable_object.hpp"
5#include "structure/opengl/spk_index_buffer_object.hpp"
6#include "structure/opengl/spk_vertex_array_object.hpp"
7#include "structure/opengl/spk_vertex_buffer_object.hpp"
8
9namespace spk
10{
11 namespace OpenGL
12 {
19 {
20 private:
23
27
28 void _registerCallbacks();
29 void _onSynchronize() override;
30
31 public:
36 explicit BufferSetObject(BufferObject::Usage p_usage);
41 BufferSetObject(const BufferSetObject &p_other);
48
59
64 const VertexBufferObject &vbo() const;
69 const IndexBufferObject &ibo() const;
70
81
92 };
93 }
94}
Stateful helper toggling between activated/deactivated states.
Definition spk_activable_object.hpp:20
Usage
Usage hints forwarded to the OpenGL driver.
Definition spk_buffer_object.hpp:61
VertexBufferObject & vbo()
Access mutable VBO.
Definition spk_buffer_set_object.cpp:76
BufferSetObject & operator=(const BufferSetObject &p_other)
Assigns buffer set contents from another instance.
Definition spk_buffer_set_object.cpp:52
IndexBufferObject & ibo()
Access mutable IBO.
Definition spk_buffer_set_object.cpp:81
IndexBufferObject & indexBufferObject()
Alias for ibo.
Definition spk_buffer_set_object.cpp:101
BufferSetObject(BufferObject::Usage p_usage)
Builds a buffer set with a shared usage hint.
Definition spk_buffer_set_object.cpp:31
VertexBufferObject & vertexBufferObject()
Alias for vbo.
Definition spk_buffer_set_object.cpp:96
Convenience wrapper for element array buffers storing 32-bit indices.
Definition spk_index_buffer_object.hpp:20
RAII wrapper for an OpenGL VAO.
Definition spk_vertex_array_object.hpp:18
Convenience wrapper for array buffers with vertex layout management.
Definition spk_vertex_buffer_object.hpp:24
Base for objects requiring deferred synchronization hooks.
Definition spk_synchronizable_object.hpp:10
void forceSynchronization()
Forces synchronization regardless of current flag.
Definition spk_synchronizable_object.hpp:54
void synchronize()
Performs synchronization if requested.
Definition spk_synchronizable_object.hpp:40