07/include/Model.h

36 lines
1.2 KiB
C
Raw Normal View History

#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);
~Model_wo_indexes();
virtual void render(VkCommandBuffer commandBuffer);
protected:
void bindBuffers(VkCommandBuffer commandBuffer); // привзка используемых буферов данных
private:
uint32_t verteciesCount; // Количество вершин
VkBuffer vertexBuffer; // Буфер вершин
};
// Класс модели с индексами
class Model_w_indexes : public Model_wo_indexes
{
public:
Model_w_indexes(Vertex* vertexArray, uint32_t verteciesCount, uint32_t* indexArray, uint32_t indeciesCount);
~Model_w_indexes();
virtual void render(VkCommandBuffer commandBuffer);
private:
void bindBuffers(VkCommandBuffer commandBuffer); // привзка используемых буферов данных
uint32_t indeciesCount; // Количество индексов
VkBuffer indexBuffer; // Буфер индексов
};
#endif // MODEL_H