feat: adapt old mesh class for further removing
This commit is contained in:
@@ -5,24 +5,29 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <GL/glew.h>
|
#include <GL/glew.h>
|
||||||
|
|
||||||
#include "engine/renderer/basics.h"
|
#include "engine/3d/vertex.hpp"
|
||||||
#include "engine/opengl/buffers.h"
|
#include "engine/opengl/buffers.h"
|
||||||
|
|
||||||
namespace Core {
|
namespace Core {
|
||||||
|
|
||||||
class Mesh : public OpenGL::VertexArray {
|
class Mesh : public OpenGL::VertexArray {
|
||||||
public: // TODO: abstract away
|
public: // TODO: abstract away
|
||||||
unsigned int m_vbo, m_ebo;
|
unsigned int m_ebo;
|
||||||
std::vector<Vertex> m_vertexBuffer;
|
std::vector<Vertex> m_vertexBuffer;
|
||||||
std::vector<unsigned int> m_indexBuffer;
|
std::vector<unsigned int> m_indexBuffer;
|
||||||
public:
|
public:
|
||||||
|
Mesh(const std::string& name);
|
||||||
|
|
||||||
|
Mesh(const Mesh& other) = delete;
|
||||||
|
Mesh(Mesh&& other) noexcept
|
||||||
|
: m_ebo(other.m_ebo), m_vertexBuffer(std::move(other.m_vertexBuffer)), m_indexBuffer(std::move(other.m_indexBuffer)), m_materialName(std::move(other.m_materialName)) {}
|
||||||
|
public:
|
||||||
|
inline const std::string& GetMaterialName() const { return m_materialName; }
|
||||||
void Upload();
|
void Upload();
|
||||||
public:
|
|
||||||
std::string materialName;
|
|
||||||
public:
|
|
||||||
Mesh();
|
|
||||||
public:
|
public:
|
||||||
void Render(unsigned int count);
|
void Render(unsigned int count);
|
||||||
|
private:
|
||||||
|
std::string m_materialName;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user