23 Buffer(
const std::vector<coma::Vec3>& pos,
const std::vector<coma::Vec3>& normal,
24 const std::vector<coma::Vec3>& color,
const std::vector<coma::Vec2>& uv);
29 Buffer(
const void* data,
unsigned int size);
33 Buffer(
const Buffer& other) =
delete;
38 Buffer(Buffer&& other)
noexcept;
43 Buffer& operator=(Buffer& other) =
delete;
48 Buffer& operator=(Buffer&& other)
noexcept;
57 void bindBuffer(
const Target t)
const;
60 void bindVertexArray()
const;
64 unsigned int size()
const;
72 void uploadData(
const void* data,
unsigned int size,
unsigned int offset = 0);
80 void enableVertexArray(
const unsigned int index,
const unsigned int size,
81 const unsigned int stride,
82 const unsigned long long offset);
85 unsigned int buffer_id()
const;
88 unsigned int buffer_id_;
89 unsigned int vertex_array_id_;
96 Mesh(
const std::vector<coma::Vec3>& pos,
97 const std::vector<coma::Vec3>& normal,
98 const std::vector<coma::Vec3>& color,
const std::vector<coma::Vec2>& uv,
99 const void* data,
unsigned int size)
100 : mesh_{std::make_unique<Buffer>(pos, normal, color, uv)},
101 indices_{std::make_unique<Buffer>(data, size)} {}
103 std::unique_ptr<Buffer> mesh_;
104 std::unique_ptr<Buffer> indices_;
represents mathematical vector with 2 components
Definition: vector_2.h:7
represents mathematical vector with 3 components
Definition: vector_3.h:12
copperdielf Math Library
Definition: buffer.hpp:5