3 #include <cgv/render/context.h>
4 #include <cgv/render/element_traits.h>
23 bool create(
const context& ctx,
size_t size_in_bytes);
27 size_in_bytes = array_descriptor_traits < T>::get_size(array);
28 return ctx.vertex_buffer_create(*
this, array_descriptor_traits < T>::get_address(array), size_in_bytes);
32 bool create(
const context& ctx,
const T* array_ptr,
size_t nr_elements) {
33 size_in_bytes = nr_elements *
sizeof(T);
34 return ctx.vertex_buffer_create(*
this, array_ptr, size_in_bytes);
37 bool is_created()
const;
39 size_t get_size_in_bytes()
const;
42 bool replace(
const context& ctx,
size_t buffer_offset_in_bytes,
const T* array_ptr,
size_t nr_elements) {
43 return ctx.vertex_buffer_replace(*
this, buffer_offset_in_bytes, nr_elements*
sizeof(T), array_ptr);
46 bool copy(
const context& ctx,
size_t src_offset_in_bytes,
size_t size_in_bytes,
vertex_buffer& dst,
size_t dst_offset_in_bytes)
const;
49 bool copy(
const context& ctx,
size_t src_offset_in_bytes, T* array_ptr,
size_t nr_elements) {
50 return ctx.vertex_buffer_copy_back(*
this, src_offset_in_bytes,
sizeof(T)*nr_elements, array_ptr);
53 void destruct(
const context& ctx);
59 #include <cgv/config/lib_end.h>
bool replace(const context &ctx, size_t buffer_offset_in_bytes, const T *array_ptr, size_t nr_elements)
replace part (starting at byte offset buffer_offset_in_bytes) or whole vertex buffer content from nr_...
Definition: vertex_buffer.h:42
bool create(const context &ctx, const T &array)
create vertex buffer and copy data from CPU array array into buffer memory
Definition: vertex_buffer.h:26
VertexBufferType
different vertex buffer types
Definition: context.h:349
VertexBufferUsage
different vertex buffer usages as defined in OpenGL
Definition: context.h:359
Definition: vertex_buffer.h:13
base interface for a vertex buffer
Definition: context.h:365
bool copy(const context &ctx, size_t src_offset_in_bytes, T *array_ptr, size_t nr_elements)
copy nr_elements array elements from vertex buffer starting at byte offset start_offset_in_bytes to C...
Definition: vertex_buffer.h:49
bool create(const context &ctx, const T *array_ptr, size_t nr_elements)
create vertex buffer and copy data from CPU array array_ptr into buffer memory
Definition: vertex_buffer.h:32
the cgv namespace
Definition: vr_calib.cxx:9
Definition: context.h:525