You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
591 B
29 lines
591 B
#pragma once
|
|
|
|
#include <vulkan/vulkan_core.h>
|
|
#include <stdexcept>
|
|
#include "vertex.hpp"
|
|
|
|
const std::vector<uint32_t> indices = {
|
|
0, 1, 2, 0, 3, 1,
|
|
4, 5, 6, 4, 7, 5
|
|
};
|
|
|
|
class Instance;
|
|
class CommandPool;
|
|
|
|
class Buffer {
|
|
public:
|
|
explicit Buffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties);
|
|
~Buffer();
|
|
VkBuffer handle = VK_NULL_HANDLE;
|
|
VkDeviceMemory memory = VK_NULL_HANDLE;
|
|
VkDeviceSize size;
|
|
|
|
static Buffer* createStagedVertexBuffer();
|
|
static Buffer* createStagedIndexBuffer();
|
|
|
|
void copyTo(Buffer* dst, CommandPool* commandPool);
|
|
|
|
private:
|
|
}; |