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