28 lines
496 B
C++
28 lines
496 B
C++
#pragma once
|
|
#include <vector>
|
|
|
|
#include "material.h"
|
|
#include "vulkan/graphics.h"
|
|
#include "vulkan/vertex.h"
|
|
|
|
#include <memory>
|
|
|
|
namespace veng {
|
|
struct Model {
|
|
Model(std::shared_ptr<class Graphics> graphics);
|
|
~Model();
|
|
|
|
std::vector<veng::Vertex> vertices;
|
|
veng::BufferHandle vertex_buffer;
|
|
std::vector<std::uint32_t> indices;
|
|
veng::BufferHandle index_buffer;
|
|
|
|
glm::mat4 transform;
|
|
|
|
Material material;
|
|
|
|
private:
|
|
std::weak_ptr<class Graphics> graphics_;
|
|
};
|
|
} // namespace veng
|