feat: assignment 2

This commit is contained in:
2025-10-13 15:04:53 +02:00
parent 986e31dbef
commit f981cee4e0
17 changed files with 649 additions and 56 deletions

37
src/mesh.h Normal file
View File

@@ -0,0 +1,37 @@
#ifndef MESH_H_
#define MESH_H_
#include <memory>
#include <vector>
class Buffer;
class Shader;
class Mesh {
public:
Mesh() = default;
void addBuffer(const std::shared_ptr<Buffer>& buffer,
const std::shared_ptr<Shader>& shader = nullptr);
size_t getNumBuffers() const
{
return buffers_.size();
}
const std::shared_ptr<Buffer>& getBuffer(size_t index) const
{
return buffers_[index];
}
std::shared_ptr<Buffer>& getBuffer(size_t index)
{
return buffers_[index];
}
void draw();
private:
std::vector<std::shared_ptr<Buffer>> buffers_;
std::vector<std::shared_ptr<Shader>> shaders_;
};
#endif // MESH_H_