diff options
| author | Clément Sibille <clements@lisible.xyz> | 2025-03-16 19:13:09 +0100 |
|---|---|---|
| committer | Clément Sibille <clements@lisible.xyz> | 2025-03-18 21:25:10 +0100 |
| commit | cb74ffacedb3c1bc4a5398d665d1f4dc12f69a4a (patch) | |
| tree | 23c91e34fd0a5dafb47beac7e7e0c6f6bd26457f /src/renderer.h | |
| parent | 038c0c44d26a45554e3cc6257bc67d3fecb291cd (diff) | |
Add the renderer's foundations
Diffstat (limited to '')
| -rw-r--r-- | src/renderer.h | 27 |
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 |
