mirror of
https://github.com/slendidev/lunar.git
synced 2025-12-11 11:29:53 +02:00
47
src/Types.h
Normal file
47
src/Types.h
Normal file
@@ -0,0 +1,47 @@
|
||||
#pragma once
|
||||
|
||||
#include <smath.hpp>
|
||||
#include <vk_mem_alloc.h>
|
||||
#include <vulkan/vulkan_core.h>
|
||||
|
||||
#include "DeletionQueue.h"
|
||||
|
||||
namespace Lunar {
|
||||
|
||||
struct AllocatedImage {
|
||||
VkImage image;
|
||||
VkImageView image_view;
|
||||
VmaAllocation allocation;
|
||||
VkExtent3D extent;
|
||||
VkFormat format;
|
||||
};
|
||||
|
||||
struct AllocatedBuffer {
|
||||
VkBuffer buffer;
|
||||
VmaAllocation allocation;
|
||||
VmaAllocationInfo info;
|
||||
};
|
||||
|
||||
struct FrameData {
|
||||
VkCommandPool command_pool;
|
||||
VkCommandBuffer main_command_buffer;
|
||||
VkSemaphore swapchain_semaphore;
|
||||
VkFence render_fence;
|
||||
|
||||
DeletionQueue deletion_queue;
|
||||
};
|
||||
|
||||
struct Vertex {
|
||||
smath::Vec3 position;
|
||||
float u;
|
||||
smath::Vec3 normal;
|
||||
float v;
|
||||
smath::Vec4 color;
|
||||
};
|
||||
|
||||
struct GPUMeshBuffers {
|
||||
AllocatedBuffer index_buffer, vertex_buffer;
|
||||
VkDeviceAddress vertex_buffer_address;
|
||||
};
|
||||
|
||||
} // namespace Lunar
|
||||
Reference in New Issue
Block a user