Пример использования класса модели с индексным буфером

This commit is contained in:
2022-04-07 13:17:05 +03:00
parent 10b58f8556
commit 116a474c5f
3 changed files with 51 additions and 24 deletions

View File

@@ -9,6 +9,9 @@
#include "Queue.h"
#include <map>
#include <list>
#include "Model.h"
class Vulkan
{
@@ -20,6 +23,9 @@ class Vulkan
void renderEnd(); // Окончание рендера кадра
VkBuffer createDataBuffer(void* data, VkDeviceSize size, VkBufferUsageFlags usage); // Создание буфера данных
void destroyBuffer(VkBuffer buffer); // Уничтожение буфера и освобождение его памяти
void addToRenderList(I_Model* model); // Добавление модели в список рендера
void removeFromRenderList(I_Model* model); // Удалеие модели из список рендера
void clearRenderList(); // Очистка списка рендера моделей
private:
VkInstance instance; // Экземпляр Vulkan
PhysicalDevice physicalDevice; // Физическое устройство
@@ -42,6 +48,7 @@ class Vulkan
uint32_t imageIndex; // Текущее изображение из списка показа
std::map<VkBuffer, std::pair<VkDevice, VkDeviceMemory>> databuffers; // Словарь для сопоставления дескриптору буфера дескрипторов лог. устройства и памяти
std::list<I_Model*> renderList; // Спискок моделей для рендера
// Структура для хранения флагов
struct