2022-04-07 09:15:15 +00:00
|
|
|
|
#ifndef MODEL_H
|
|
|
|
|
#define MODEL_H
|
|
|
|
|
|
|
|
|
|
#include "I_Model.h"
|
|
|
|
|
#include "Vertex.h"
|
|
|
|
|
|
|
|
|
|
// Класс модели без индексов
|
|
|
|
|
class Model_wo_indexes : public I_Model
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
Model_wo_indexes(Vertex* vertexArray, uint32_t verteciesCount);
|
2022-04-07 10:43:03 +00:00
|
|
|
|
virtual ~Model_wo_indexes();
|
2022-04-07 09:15:15 +00:00
|
|
|
|
virtual void render(VkCommandBuffer commandBuffer);
|
2022-04-07 09:29:47 +00:00
|
|
|
|
protected:
|
2022-04-07 10:06:02 +00:00
|
|
|
|
void bindBuffers(VkCommandBuffer commandBuffer); // привязка используемых буферов данных
|
2022-04-07 09:15:15 +00:00
|
|
|
|
private:
|
|
|
|
|
uint32_t verteciesCount; // Количество вершин
|
|
|
|
|
VkBuffer vertexBuffer; // Буфер вершин
|
|
|
|
|
};
|
|
|
|
|
|
2022-04-07 09:29:47 +00:00
|
|
|
|
// Класс модели с индексами
|
|
|
|
|
class Model_w_indexes : public Model_wo_indexes
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
Model_w_indexes(Vertex* vertexArray, uint32_t verteciesCount, uint32_t* indexArray, uint32_t indeciesCount);
|
2022-04-07 10:43:03 +00:00
|
|
|
|
virtual ~Model_w_indexes();
|
2022-04-07 09:29:47 +00:00
|
|
|
|
virtual void render(VkCommandBuffer commandBuffer);
|
2022-04-07 10:24:06 +00:00
|
|
|
|
protected:
|
2022-04-07 10:06:02 +00:00
|
|
|
|
void bindBuffers(VkCommandBuffer commandBuffer); // привязка используемых буферов данных
|
2022-04-07 10:24:06 +00:00
|
|
|
|
private:
|
2022-04-07 09:29:47 +00:00
|
|
|
|
uint32_t indeciesCount; // Количество индексов
|
|
|
|
|
VkBuffer indexBuffer; // Буфер индексов
|
|
|
|
|
};
|
|
|
|
|
|
2022-04-07 09:15:15 +00:00
|
|
|
|
#endif // MODEL_H
|