14 #ifndef OGLPLUS_BOUND_BUFFER_1107121519_HPP
15 #define OGLPLUS_BOUND_BUFFER_1107121519_HPP
47 BoundObjOps(
Target init_tgt)
58 return ExplicitOps::GetIntParam(
70 return ExplicitOps::Mapped(
96 template <
typename GLtype>
116 template <
typename GLtype, std::
size_t Count>
118 const GLtype (&data)[Count],
134 template <
typename GLtype>
136 const std::vector< GLtype > & data,
152 template <
typename GLtype, std::
size_t N>
170 template <
typename GLtype>
177 ExplicitOps::SubData(
190 template <
typename GLtype, std::
size_t Count>
193 const GLtype (&data)[Count]
196 ExplicitOps::SubData(
208 template <
typename GLtype>
211 const std::vector< GLtype > & data
214 ExplicitOps::SubData(
222 #if OGLPLUS_DOCUMENTATION_ONLY || GL_VERSION_4_3
227 template <
typename GLtype>
234 ExplicitOps::ClearData(
242 #endif // GL_VERSION_4_3
244 #if OGLPLUS_DOCUMENTATION_ONLY || GL_VERSION_4_3
249 template <
typename GLtype>
258 ExplicitOps::ClearSubData(
268 #endif // GL_VERSION_4_3
270 #if OGLPLUS_DOCUMENTATION_ONLY || GL_VERSION_4_4 || GL_ARB_buffer_storage
281 ExplicitOps::Storage(
289 #endif // GL_VERSION_4_4 GL_ARB_buffer_storage
291 #if OGLPLUS_DOCUMENTATION_ONLY || GL_VERSION_4_4 || GL_ARB_buffer_storage
298 return ExplicitOps::ImmutableStorage(
302 #endif // GL_VERSION_4_4 GL_ARB_buffer_storage
304 #if OGLPLUS_DOCUMENTATION_ONLY || GL_VERSION_4_4 || GL_ARB_buffer_storage
311 return ExplicitOps::StorageFlags(
315 #endif // GL_VERSION_4_4 GL_ARB_buffer_storage
323 return ExplicitOps::Size(
334 return ExplicitOps::Usage(
350 #if OGLPLUS_DOCUMENTATION_ONLY || GL_NV_shader_buffer_load
359 ExplicitOps::MakeResident(
365 #endif // GL_NV_shader_buffer_load
367 #if OGLPLUS_DOCUMENTATION_ONLY || GL_NV_shader_buffer_load
374 ExplicitOps::MakeNonResident(
379 #endif // GL_NV_shader_buffer_load
381 #if OGLPLUS_DOCUMENTATION_ONLY || GL_NV_shader_buffer_load
388 return ExplicitOps::GPUAddress(
392 #endif // GL_NV_shader_buffer_load
399 #endif // include guard
AccessSpecifier typedef AccessSpecifier Access
Alternate name for AccessSpecifier.
Definition: access_specifier.hpp:35
const BoundObjOps & ClearSubData(PixelDataInternalFormat internal_format, BufferSize offset, BufferSize size, PixelDataFormat format, const GLtype *data) const
Definition: buffer.hpp:250
GLsizei Size(void) const
Definition: buffer.hpp:321
const BoundObjOps & MakeNonResident(void) const
Definition: buffer.hpp:372
PixelDataInternalFormat
OpenGL pixel data internal format enumeration.
Definition: pixel_data.hpp:79
const BoundObjOps & Storage(BufferSize size, const void *data, Bitfield< BufferStorageBit > flags) const
Definition: buffer.hpp:275
const BoundObjOps & SubData(BufferSize offset, const std::vector< GLtype > &data) const
Definition: buffer.hpp:209
This class represents the size of a GPU buffer in bytes.
Definition: buffer_size.hpp:22
BufferUsage
Buffer usage enumeration.
Definition: buffer_usage.hpp:24
This template serves as a wrapper for OpenGL bitfields.
Definition: bitfield.hpp:56
bool ImmutableStorage(void) const
Definition: buffer.hpp:296
const BoundObjOps & Data(GLsizei count, const GLtype *data, BufferUsage usage=BufferUsage::StaticDraw) const
Definition: buffer.hpp:97
const BoundObjOps & SubData(BufferSize offset, const GLtype(&data)[Count]) const
Definition: buffer.hpp:191
AccessSpecifier
Enumeration of access type specifiers.
Definition: access_specifier.hpp:27
BufferUsage Usage(void) const
Definition: buffer.hpp:332
PixelDataFormat
OpenGL pixel data format enumeration.
Definition: pixel_data.hpp:50
const BoundObjOps & SubData(BufferSize offset, GLsizei count, const GLtype *data) const
Definition: buffer.hpp:171
const BoundObjOps & Data(const GLtype(&data)[Count], BufferUsage usage=BufferUsage::StaticDraw) const
Definition: buffer.hpp:117
const BoundObjOps & Data(const std::vector< Vector< GLtype, N > > &data, BufferUsage usage=BufferUsage::StaticDraw) const
Definition: buffer.hpp:153
Bitfield< BufferStorageBit > StorageFlags(void) const
Definition: buffer.hpp:309
const BoundObjOps & ClearData(PixelDataInternalFormat internal_format, PixelDataFormat format, const GLtype *data) const
Definition: buffer.hpp:228
const BoundObjOps & MakeResident(AccessSpecifier access) const
Definition: buffer.hpp:355
BufferGPUAddress GPUAddress(void) const
Definition: buffer.hpp:386
const BoundObjOps & Resize(BufferSize size, BufferUsage usage=BufferUsage::StaticDraw) const
Definition: buffer.hpp:79
Operations on currently bound objects.
Object< BufferOps > Buffer
An oglplus_object encapsulating the OpenGL buffer functionality.
Definition: buffer.hpp:1056
bool Mapped(void) const
Definition: buffer.hpp:68
GLint GetIntParam(GLenum query) const
Definition: buffer.hpp:54
Basic template for vector types.
Definition: fwd.hpp:43
Class wrapping buffer functions with explicit target selector.
Definition: buffer.hpp:433
Bitfield< BufferMapAccess > Access(void) const
Definition: buffer.hpp:343
const BoundObjOps & Data(const std::vector< GLtype > &data, BufferUsage usage=BufferUsage::StaticDraw) const
Definition: buffer.hpp:135
BufferTarget
Buffer bind target.
Definition: buffer_target.hpp:24