summaryrefslogtreecommitdiffstats
path: root/src/renderer.h
diff options
context:
space:
mode:
authorClément Sibille <clements@lisible.xyz>2025-03-16 19:13:09 +0100
committerClément Sibille <clements@lisible.xyz>2025-03-18 21:25:10 +0100
commitcb74ffacedb3c1bc4a5398d665d1f4dc12f69a4a (patch)
tree23c91e34fd0a5dafb47beac7e7e0c6f6bd26457f /src/renderer.h
parent038c0c44d26a45554e3cc6257bc67d3fecb291cd (diff)
Add the renderer's foundations
Diffstat (limited to '')
-rw-r--r--src/renderer.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/renderer.h b/src/renderer.h
new file mode 100644
index 0000000..5e08762
--- /dev/null
+++ b/src/renderer.h
@@ -0,0 +1,27 @@
+#ifndef VGLTF_RENDERER_H
+#define VGLTF_RENDERER_H
+
+#include "platform.h"
+#include <vulkan/vulkan.h>
+
+constexpr int VGLTF_RENDERER_MAX_SWAPCHAIN_IMAGE_COUNT = 32;
+struct vgltf_renderer {
+ VkInstance instance;
+ VkPhysicalDevice physical_device;
+ VkDevice device;
+ VkQueue graphics_queue;
+ VkQueue present_queue;
+ VkDebugUtilsMessengerEXT debug_messenger;
+ VkSurfaceKHR surface;
+ VkSwapchainKHR swapchain;
+ VkImage swapchain_images[VGLTF_RENDERER_MAX_SWAPCHAIN_IMAGE_COUNT];
+ VkImageView swapchain_image_views[VGLTF_RENDERER_MAX_SWAPCHAIN_IMAGE_COUNT];
+ VkFormat swapchain_image_format;
+ VkExtent2D swapchain_extent;
+ uint32_t swapchain_image_count;
+};
+bool vgltf_renderer_init(struct vgltf_renderer *renderer,
+ struct vgltf_platform *platform);
+void vgltf_renderer_deinit(struct vgltf_renderer *renderer);
+
+#endif // VGLTF_RENDERER_H
Go back to lisible.xyz