Создание и инициализация произвольного буфера данных
This commit is contained in:
12
include/vk.h
12
include/vk.h
@@ -8,6 +8,8 @@
|
||||
#include "Surface.h"
|
||||
#include "Queue.h"
|
||||
|
||||
#include <map>
|
||||
|
||||
class Vulkan
|
||||
{
|
||||
public:
|
||||
@@ -30,13 +32,13 @@ class Vulkan
|
||||
VkCommandPool commandPool; // Пул команд
|
||||
std::vector<VkCommandBuffer> commandBuffers; // Буферы команд
|
||||
VkBuffer vertexBuffer; // Буфер вершин
|
||||
VkDeviceMemory vertexBufferMemory; // Память буфера вершин
|
||||
VkBuffer indexBuffer; // Буфер индексов
|
||||
VkDeviceMemory indexBufferMemory; // Память буфера индексов
|
||||
std::vector<VkSemaphore> imageAvailableSemaphores; // семафор доступности изображения
|
||||
std::vector<VkSemaphore> renderFinishedSemaphores; // семафор окончания рендера
|
||||
std::vector<VkFence> inWorkFences; // барьер кадра в работе
|
||||
uint32_t currentFrame = 0; // Текущий кадр рендера
|
||||
|
||||
std::map<VkBuffer, std::pair<VkDevice, VkDeviceMemory>> databuffers; // Словарь для сопоставления дескриптору буфера дескрипторов лог. устройства и памяти
|
||||
|
||||
// Структура для хранения флагов
|
||||
struct
|
||||
@@ -54,11 +56,11 @@ class Vulkan
|
||||
void createRenderpass(); // Создание проходов рендера
|
||||
VkShaderModule createShaderModule(const char * filename); // Создание шейдерного модуля
|
||||
void createGraphicPipeline(); // Создание графического конвеера
|
||||
void createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties, VkBuffer& buffer, VkDeviceMemory& bufferMemory); // Создание произвольного буфера данных
|
||||
void createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties, VkBuffer& buffer); // Создание произвольного буфера данных
|
||||
void destroyBuffer(VkBuffer buffer); // Уничтожение буфера и освобождение его памяти
|
||||
void createCommandPool(); // Создание пула команд
|
||||
void copyBuffer(VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size); // Копирование между буферами данных
|
||||
void createVertexBuffer(); // Создание буфера вершин
|
||||
void createIndexBuffer(); // Создание буфера индексов
|
||||
VkBuffer createDataBuffer(void* data, VkDeviceSize size, VkBufferUsageFlags usage); // Создание буфера данных
|
||||
void createSyncObjects(); // Создание объектов синхронизации
|
||||
void createFramebuffers(); // Создание буферов кадра
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user