![]() |
No Name Engine
NoNameEngine est un moteur de jeu basé sur un système Entity Component System (ECS) utilisant Vulkan pour le rendu.
|

Public Member Functions | |
| VulkanManager () | |
| Initialise le gestionnaire Vulkan. | |
| ~VulkanManager () | |
| Libère toutes les ressources Vulkan. | |
| void | initVulkan () |
| Configure et lance l'initialisation Vulkan. | |
| void | CreateVulkanInstance () |
| Crée l'instance Vulkan principale. | |
| bool | checkValidationLayerSupport () |
| Vérifie la disponibilité des couches de validation. | |
| void | pickPhysicalDevice () |
| Sélectionne le périphérique physique approprié. | |
| void | createLogicalDevice () |
| Crée le périphérique logique Vulkan. | |
| GLFWwindow * | CreateGLFWWindow (int width, int height) |
| Crée une fenêtre GLFW pour le rendu. | |
| void | createSurface () |
| Crée la surface de rendu Vulkan. | |
| void | createSwapChain () |
| Met en place la swap chain. | |
| void | createImageViews () |
| Crée les vues d'images de la swap chain. | |
| VkImageView | createImageView (VkImage image, VkFormat format, VkImageAspectFlags aspectFlags, uint32_t mipLevels) |
| Crée une vue sur une image Vulkan. | |
| void | createRenderPass () |
| Établit le render pass. | |
| void | createShadowRenderPass () |
| void | createGraphicsPipeline () |
| Génère le pipeline graphique. | |
| void | createShadowPipeline () |
| void | createBuffer (VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties, VkBuffer &buffer, VkDeviceMemory &bufferMemory) |
| Crée un buffer Vulkan générique. | |
| void | copyBuffer (VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size) |
| Copie les données d'un buffer à un autre. | |
| void | createIndexBuffer () |
| Crée le buffer d'indices. | |
| void | createVertexBuffer () |
| Crée le buffer de sommets. | |
| void | createFramebuffers () |
| Crée les framebuffers de rendu. | |
| void | createCommandPool () |
| Crée le pool de commandes. | |
| void | createCommandBuffers () |
| Alloue les buffers de commandes. | |
| void | createUniformBuffers () |
| Crée les buffers uniformes. | |
| void | recordCommandBuffer (VkCommandBuffer commandBuffer, uint32_t imageIndex, const std::vector< std::pair< NNE::Component::Render::MeshComponent *, NNE::Component::TransformComponent * > > &objects) |
| Enregistre les commandes de dessin. | |
| void | updateUniformBuffer (uint32_t currentImage) |
| Met à jour le buffer uniforme pour une image. | |
| void | createDescriptorSetLayout () |
| Crée le layout des descripteurs. | |
| void | createShadowDescriptorSetLayout () |
| void | createDescriptorPool () |
| Crée le pool de descripteurs. | |
| void | createDescriptorSets () |
| Alloue et écrit les descripteurs. | |
| void | createShadowDescriptorSets () |
| void | initializeRenderer (const std::vector< std::pair< NNE::Component::Render::MeshComponent *, NNE::Component::TransformComponent * > > &objects) |
| Initialise les ressources de rendu. | |
| void | renderFrame (const std::vector< std::pair< NNE::Component::Render::MeshComponent *, NNE::Component::TransformComponent * > > &objects) |
| Rend une frame. | |
| void | drawFrame (const std::vector< std::pair< NNE::Component::Render::MeshComponent *, NNE::Component::TransformComponent * > > &objects) |
| Dessine une frame complète. | |
| void | createSyncObjects () |
| Crée les objets de synchronisation. | |
| void | recreateSwapChain () |
| Reconstruit la swap chain après redimensionnement. | |
| void | updateCameraAspectRatio () |
| Met à jour le ratio d'aspect de la caméra active. | |
| void | createImage (uint32_t width, uint32_t height, uint32_t mipLevels, VkSampleCountFlagBits numSamples, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties, VkImage &image, VkDeviceMemory &imageMemory) |
| Crée une image Vulkan avec les paramètres souhaités. | |
| void | createTextureImageView (VkImage textureImage, VkImageView &textureImageView, VkFormat format) |
| Crée une vue pour une image de texture. | |
| void | createTextureSampler (VkSampler &textureSampler) |
| Crée un sampler pour les textures. | |
| void | createDepthResources () |
| Prépare les ressources de profondeur. | |
| void | createShadowResources () |
| void | generateMipmaps (VkImage image, VkFormat imageFormat, int32_t texWidth, int32_t texHeight, uint32_t mipLevels) |
| Génère les mipmaps d'une image. | |
| void | createColorResources () |
| Crée les ressources de couleur nécessaires au MSAA. | |
| void | loadModel (const std::string &modelPath) |
| Charge un modèle 3D depuis le disque. | |
| void | generateCube (std::vector< Vertex > &vertexData, std::vector< uint32_t > &indexData) |
| void | generateSphere (std::vector< Vertex > &vertexData, std::vector< uint32_t > &indexData) |
| void | createTextureImage (const std::string &texturePath, VkImage &textureImage, VkDeviceMemory &textureImageMemory, VkFormat &imageFormat) |
| Charge une texture depuis le disque. | |
| void | LoadMeshes (const std::vector< std::pair< NNE::Component::Render::MeshComponent *, NNE::Component::TransformComponent * > > &objects) |
| Charge les meshes des objets fournis. | |
| VkSampleCountFlagBits | getMaxUsableSampleCount () |
| Retourne le niveau d'échantillonnage maximal supporté. | |
| VkFormat | findSupportedFormat (const std::vector< VkFormat > &candidates, VkImageTiling tiling, VkFormatFeatureFlags features) |
| Trouve un format supporté répondant aux critères. | |
| VkFormat | findDepthFormat () |
| Récupère le format utilisé pour la profondeur. | |
| bool | hasDepthComponent (VkFormat format) |
| Vérifie si le format possède un composant profondeur. | |
| bool | hasStencilComponent (VkFormat format) |
| Vérifie si le format possède un composant stencil. | |
| VkCommandBuffer | beginSingleTimeCommands () |
| Commence une commande à usage unique. | |
| void | endSingleTimeCommands (VkCommandBuffer commandBuffer) |
| Termine l'exécution d'une commande à usage unique. | |
| void | initImGui () |
| void | cleanupImGui () |
| void | beginImGuiFrame () |
| void | renderImGui (VkCommandBuffer commandBuffer) |
| void | transitionImageLayout (VkImage image, VkFormat format, VkImageLayout oldLayout, VkImageLayout newLayout, uint32_t mipLevels) |
| Change l'agencement d'une image. | |
| void | copyBufferToImage (VkBuffer buffer, VkImage image, uint32_t width, uint32_t height) |
| Copie les données d'un buffer vers une image. | |
| void | copyImageToBuffer (VkImage image, VkBuffer buffer, uint32_t width, uint32_t height) |
| Copie les données d'une image vers un buffer. | |
| void | debugShadowMap () |
| Affiche des statistiques sur la shadow map pour vérifier son contenu. | |
| void | requestShadowDebug () |
| VkDescriptorSet | getShadowMapDebugDescriptor () |
| VkShaderModule | createShaderModule (const std::vector< char > &code) |
| Crée un module de shader à partir de code binaire. | |
| void | CleanUp () |
| Nettoie toutes les ressources Vulkan. | |
| void | cleanupSwapChain () |
| Détruit les ressources de la swap chain. | |
| bool | isDeviceSuitable (VkPhysicalDevice device) |
| Vérifie si un périphérique physique convient. | |
| int | rateDeviceSuitability (VkPhysicalDevice device) |
| Évalue la pertinence d'un périphérique. | |
| QueueFamilyIndices | findQueueFamilies (VkPhysicalDevice device) |
| Trouve les familles de files nécessaires. | |
| bool | checkDeviceExtensionSupport (VkPhysicalDevice device) |
| Vérifie le support des extensions requises. | |
| bool | hasExtension (VkPhysicalDevice device, const char *extensionName) |
| SwapChainSupportDetails | querySwapChainSupport (VkPhysicalDevice device) |
| Interroge les capacités de la swap chain du périphérique. | |
| VkSurfaceFormatKHR | chooseSwapSurfaceFormat (const std::vector< VkSurfaceFormatKHR > &availableFormats) |
| Choisit le format de surface approprié. | |
| VkPresentModeKHR | chooseSwapPresentMode (const std::vector< VkPresentModeKHR > &availablePresentModes) |
| Choisit le mode de présentation de la swap chain. | |
| VkExtent2D | chooseSwapExtent (const VkSurfaceCapabilitiesKHR &capabilities) |
| Détermine les dimensions de la swap chain. | |
| uint32_t | findMemoryType (uint32_t typeFilter, VkMemoryPropertyFlags properties) |
| Trouve un type de mémoire répondant aux propriétés requises. | |
Static Public Member Functions | |
| static void | framebufferResizeCallback (GLFWwindow *window, int width, int height) |
| Callback lors du redimensionnement de la fenêtre. | |
| static std::vector< char > | readFile (const std::string &filename) |
| Lit un fichier binaire depuis le disque. | |
Public Attributes | |
| ShadowConfig | shadowConfig {} |
| NNE::Component::Render::CameraComponent * | activeCamera = nullptr |
| NNE::Component::Render::LightComponent * | activeLight = nullptr |
| VkInstance | instance = VK_NULL_HANDLE |
| std::vector< Vertex > | vertices |
| std::vector< uint32_t > | indices |
| GLFWwindow * | window |
| VkDevice | device = VK_NULL_HANDLE |
Protected Attributes | |
| size_t | dynamicAlignment |
| const size_t | MAX_OBJECTS = 100 |
| const uint32_t | SHADOW_MAP_DIM = 2048 |
| VkPhysicalDevice | physicalDevice = VK_NULL_HANDLE |
| VkQueue | graphicsQueue = VK_NULL_HANDLE |
| VkSurfaceKHR | surface = VK_NULL_HANDLE |
| VkQueue | presentQueue = VK_NULL_HANDLE |
| VkSwapchainKHR | swapChain |
| std::vector< VkImage > | swapChainImages |
| VkFormat | swapChainImageFormat |
| VkExtent2D | swapChainExtent |
| std::vector< VkImageView > | swapChainImageViews |
| VkRenderPass | renderPass |
| VkPipelineLayout | pipelineLayout |
| VkPipeline | graphicsPipeline |
| std::vector< VkFramebuffer > | swapChainFramebuffers |
| VkCommandPool | commandPool |
| std::vector< VkCommandBuffer > | commandBuffers |
| std::vector< VkSemaphore > | imageAvailableSemaphores |
| std::vector< VkSemaphore > | renderFinishedSemaphores |
| std::vector< VkFence > | inFlightFences |
| uint32_t | currentFrame = 0 |
| bool | framebufferResized = false |
| VkBuffer | indexBuffer |
| VkDeviceMemory | indexBufferMemory |
| std::vector< VkBuffer > | uniformBuffers |
| std::vector< VkDeviceMemory > | uniformBuffersMemory |
| std::vector< void * > | uniformBuffersMapped |
| std::vector< VkBuffer > | objectUniformBuffers |
| std::vector< VkDeviceMemory > | objectUniformBuffersMemory |
| std::vector< void * > | objectUniformBuffersMapped |
| std::vector< VkBuffer > | lightBuffers |
| std::vector< VkDeviceMemory > | lightBuffersMemory |
| std::vector< void * > | lightBuffersMapped |
| std::vector< NNE::Component::Render::MeshComponent * > | loadedMeshes |
| VkBuffer | vertexBuffer |
| VkDeviceMemory | vertexBufferMemory |
| VkBuffer | stagingBuffer |
| VkDeviceMemory | stagingBufferMemory |
| uint32_t | mipLevels |
| VkImage | textureImage |
| VkDeviceMemory | textureImageMemory |
| VkImageView | textureImageView |
| VkDescriptorSetLayout | descriptorSetLayout |
| VkSampler | textureSampler |
| VkImage | colorImage |
| VkDeviceMemory | colorImageMemory |
| VkImageView | colorImageView |
| VkDescriptorPool | descriptorPool |
| VkDescriptorPool | imguiPool |
| VkImage | depthImage |
| VkDeviceMemory | depthImageMemory |
| VkImageView | depthImageView |
| VkSampleCountFlagBits | msaaSamples = VK_SAMPLE_COUNT_8_BIT |
| bool | supportsRenderToSingleSampled = false |
| VkRenderPass | shadowRenderPass |
| VkFramebuffer | shadowFramebuffer |
| VkImage | shadowImage |
| VkDeviceMemory | shadowImageMemory |
| VkImageView | shadowImageView |
| VkSampler | shadowSampler |
| VkPipeline | shadowPipeline |
| VkImageLayout | shadowImageLayout = VK_IMAGE_LAYOUT_UNDEFINED |
| VkPipelineLayout | shadowPipelineLayout |
| VkDescriptorSetLayout | shadowDescriptorSetLayout |
| std::array< VkDescriptorSet, MAX_FRAMES_IN_FLIGHT > | shadowDescriptorSets |
| VkDescriptorSet | shadowDebugDescriptor |
Static Protected Attributes | |
| static constexpr int | MAX_FRAMES_IN_FLIGHT = 2 |
Definition at line 130 of file VulkanManager.h.
| NNE::Systems::VulkanManager::VulkanManager | ( | ) |
Initialise le gestionnaire Vulkan.
Definition at line 40 of file VulkanManager.cpp.
| NNE::Systems::VulkanManager::~VulkanManager | ( | ) |
Libère toutes les ressources Vulkan.
Definition at line 91 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::beginImGuiFrame | ( | ) |
Definition at line 1131 of file VulkanManager.cpp.
| VkCommandBuffer NNE::Systems::VulkanManager::beginSingleTimeCommands | ( | ) |
Commence une commande à usage unique.
Definition at line 2373 of file VulkanManager.cpp.
| bool NNE::Systems::VulkanManager::checkDeviceExtensionSupport | ( | VkPhysicalDevice | device | ) |
Vérifie le support des extensions requises.
Definition at line 161 of file VulkanManager.cpp.
| bool NNE::Systems::VulkanManager::checkValidationLayerSupport | ( | ) |
Vérifie la disponibilité des couches de validation.
Definition at line 320 of file VulkanManager.cpp.
| VkExtent2D NNE::Systems::VulkanManager::chooseSwapExtent | ( | const VkSurfaceCapabilitiesKHR & | capabilities | ) |
Détermine les dimensions de la swap chain.
Definition at line 240 of file VulkanManager.cpp.
| VkPresentModeKHR NNE::Systems::VulkanManager::chooseSwapPresentMode | ( | const std::vector< VkPresentModeKHR > & | availablePresentModes | ) |
Choisit le mode de présentation de la swap chain.
Definition at line 229 of file VulkanManager.cpp.
| VkSurfaceFormatKHR NNE::Systems::VulkanManager::chooseSwapSurfaceFormat | ( | const std::vector< VkSurfaceFormatKHR > & | availableFormats | ) |
Choisit le format de surface approprié.
Definition at line 219 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::CleanUp | ( | ) |
Nettoie toutes les ressources Vulkan.
Definition at line 2692 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::cleanupImGui | ( | ) |
Definition at line 1143 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::cleanupSwapChain | ( | ) |
Détruit les ressources de la swap chain.
Definition at line 2896 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::copyBuffer | ( | VkBuffer | srcBuffer, |
| VkBuffer | dstBuffer, | ||
| VkDeviceSize | size ) |
Copie les données d'un buffer à un autre.
Definition at line 992 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::copyBufferToImage | ( | VkBuffer | buffer, |
| VkImage | image, | ||
| uint32_t | width, | ||
| uint32_t | height ) |
Copie les données d'un buffer vers une image.
Definition at line 2505 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::copyImageToBuffer | ( | VkImage | image, |
| VkBuffer | buffer, | ||
| uint32_t | width, | ||
| uint32_t | height ) |
Copie les données d'une image vers un buffer.
Definition at line 2538 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createBuffer | ( | VkDeviceSize | size, |
| VkBufferUsageFlags | usage, | ||
| VkMemoryPropertyFlags | properties, | ||
| VkBuffer & | buffer, | ||
| VkDeviceMemory & | bufferMemory ) |
Crée un buffer Vulkan générique.
Definition at line 963 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createColorResources | ( | ) |
Crée les ressources de couleur nécessaires au MSAA.
Definition at line 2497 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createCommandBuffers | ( | ) |
Alloue les buffers de commandes.
Definition at line 1172 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createCommandPool | ( | ) |
Crée le pool de commandes.
Definition at line 1158 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createDepthResources | ( | ) |
Prépare les ressources de profondeur.
Definition at line 2269 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createDescriptorPool | ( | ) |
Crée le pool de descripteurs.
Definition at line 1681 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createDescriptorSetLayout | ( | ) |
Crée le layout des descripteurs.
Definition at line 1611 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createDescriptorSets | ( | ) |
Alloue et écrit les descripteurs.
Definition at line 1708 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createFramebuffers | ( | ) |
Crée les framebuffers de rendu.
Definition at line 1049 of file VulkanManager.cpp.
| GLFWwindow * NNE::Systems::VulkanManager::CreateGLFWWindow | ( | int | width, |
| int | height ) |
Crée une fenêtre GLFW pour le rendu.
Definition at line 444 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createGraphicsPipeline | ( | ) |
Génère le pipeline graphique.
Definition at line 683 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createImage | ( | uint32_t | width, |
| uint32_t | height, | ||
| uint32_t | mipLevels, | ||
| VkSampleCountFlagBits | numSamples, | ||
| VkFormat | format, | ||
| VkImageTiling | tiling, | ||
| VkImageUsageFlags | usage, | ||
| VkMemoryPropertyFlags | properties, | ||
| VkImage & | image, | ||
| VkDeviceMemory & | imageMemory ) |
Crée une image Vulkan avec les paramètres souhaités.
Definition at line 2112 of file VulkanManager.cpp.
| VkImageView NNE::Systems::VulkanManager::createImageView | ( | VkImage | image, |
| VkFormat | format, | ||
| VkImageAspectFlags | aspectFlags, | ||
| uint32_t | mipLevels ) |
Crée une vue sur une image Vulkan.
Definition at line 532 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createImageViews | ( | ) |
Crée les vues d'images de la swap chain.
Definition at line 523 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createIndexBuffer | ( | ) |
Crée le buffer d'indices.
Definition at line 1003 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createLogicalDevice | ( | ) |
Crée le périphérique logique Vulkan.
Definition at line 375 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createRenderPass | ( | ) |
Établit le render pass.
Definition at line 553 of file VulkanManager.cpp.
| VkShaderModule NNE::Systems::VulkanManager::createShaderModule | ( | const std::vector< char > & | code | ) |
Crée un module de shader à partir de code binaire.
Definition at line 2649 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createShadowDescriptorSetLayout | ( | ) |
Definition at line 1662 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createShadowDescriptorSets | ( | ) |
Definition at line 1784 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createShadowPipeline | ( | ) |
Definition at line 834 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createShadowRenderPass | ( | ) |
Definition at line 630 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createShadowResources | ( | ) |
Definition at line 2278 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createSurface | ( | ) |
Crée la surface de rendu Vulkan.
Definition at line 461 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createSwapChain | ( | ) |
Met en place la swap chain.
Definition at line 468 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createSyncObjects | ( | ) |
Crée les objets de synchronisation.
Definition at line 1918 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createTextureImage | ( | const std::string & | texturePath, |
| VkImage & | textureImage, | ||
| VkDeviceMemory & | textureImageMemory, | ||
| VkFormat & | imageFormat ) |
Charge une texture depuis le disque.
Definition at line 1995 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createTextureImageView | ( | VkImage | textureImage, |
| VkImageView & | textureImageView, | ||
| VkFormat | format ) |
Crée une vue pour une image de texture.
Definition at line 2148 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createTextureSampler | ( | VkSampler & | textureSampler | ) |
Crée un sampler pour les textures.
Definition at line 2153 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createUniformBuffers | ( | ) |
Crée les buffers uniformes.
Definition at line 1188 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::createVertexBuffer | ( | ) |
Crée le buffer de sommets.
Definition at line 1026 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::CreateVulkanInstance | ( | ) |
Crée l'instance Vulkan principale.
Definition at line 275 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::debugShadowMap | ( | ) |
Affiche des statistiques sur la shadow map pour vérifier son contenu.
Definition at line 2567 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::drawFrame | ( | const std::vector< std::pair< NNE::Component::Render::MeshComponent *, NNE::Component::TransformComponent * > > & | objects | ) |
Dessine une frame complète.
Definition at line 1837 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::endSingleTimeCommands | ( | VkCommandBuffer | commandBuffer | ) |
Termine l'exécution d'une commande à usage unique.
Definition at line 2393 of file VulkanManager.cpp.
| VkFormat NNE::Systems::VulkanManager::findDepthFormat | ( | ) |
Récupère le format utilisé pour la profondeur.
Definition at line 2336 of file VulkanManager.cpp.
| uint32_t NNE::Systems::VulkanManager::findMemoryType | ( | uint32_t | typeFilter, |
| VkMemoryPropertyFlags | properties ) |
Trouve un type de mémoire répondant aux propriétés requises.
Definition at line 261 of file VulkanManager.cpp.
| NNE::Systems::QueueFamilyIndices NNE::Systems::VulkanManager::findQueueFamilies | ( | VkPhysicalDevice | device | ) |
Trouve les familles de files nécessaires.
Definition at line 123 of file VulkanManager.cpp.
| VkFormat NNE::Systems::VulkanManager::findSupportedFormat | ( | const std::vector< VkFormat > & | candidates, |
| VkImageTiling | tiling, | ||
| VkFormatFeatureFlags | features ) |
Trouve un format supporté répondant aux critères.
Definition at line 2319 of file VulkanManager.cpp.
|
static |
Callback lors du redimensionnement de la fenêtre.
Definition at line 455 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::generateCube | ( | std::vector< Vertex > & | vertexData, |
| std::vector< uint32_t > & | indexData ) |
Definition at line 1492 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::generateMipmaps | ( | VkImage | image, |
| VkFormat | imageFormat, | ||
| int32_t | texWidth, | ||
| int32_t | texHeight, | ||
| uint32_t | mipLevels ) |
Génère les mipmaps d'une image.
Definition at line 2181 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::generateSphere | ( | std::vector< Vertex > & | vertexData, |
| std::vector< uint32_t > & | indexData ) |
Definition at line 1574 of file VulkanManager.cpp.
| VkSampleCountFlagBits NNE::Systems::VulkanManager::getMaxUsableSampleCount | ( | ) |
Retourne le niveau d'échantillonnage maximal supporté.
Definition at line 2357 of file VulkanManager.cpp.
| VkDescriptorSet NNE::Systems::VulkanManager::getShadowMapDebugDescriptor | ( | ) |
Definition at line 2639 of file VulkanManager.cpp.
| bool NNE::Systems::VulkanManager::hasDepthComponent | ( | VkFormat | format | ) |
Vérifie si le format possède un composant profondeur.
Definition at line 2345 of file VulkanManager.cpp.
| bool NNE::Systems::VulkanManager::hasExtension | ( | VkPhysicalDevice | device, |
| const char * | extensionName ) |
Definition at line 178 of file VulkanManager.cpp.
| bool NNE::Systems::VulkanManager::hasStencilComponent | ( | VkFormat | format | ) |
Vérifie si le format possède un composant stencil.
Definition at line 2352 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::initializeRenderer | ( | const std::vector< std::pair< NNE::Component::Render::MeshComponent *, NNE::Component::TransformComponent * > > & | objects | ) |
Initialise les ressources de rendu.
Definition at line 1814 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::initImGui | ( | ) |
Definition at line 1075 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::initVulkan | ( | ) |
Configure et lance l'initialisation Vulkan.
Definition at line 96 of file VulkanManager.cpp.
| bool NNE::Systems::VulkanManager::isDeviceSuitable | ( | VkPhysicalDevice | device | ) |
Vérifie si un périphérique physique convient.
Definition at line 3033 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::LoadMeshes | ( | const std::vector< std::pair< NNE::Component::Render::MeshComponent *, NNE::Component::TransformComponent * > > & | objects | ) |
Charge les meshes des objets fournis.
Definition at line 2066 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::loadModel | ( | const std::string & | modelPath | ) |
Charge un modèle 3D depuis le disque.
Definition at line 1446 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::pickPhysicalDevice | ( | ) |
Sélectionne le périphérique physique approprié.
Definition at line 346 of file VulkanManager.cpp.
| NNE::Systems::SwapChainSupportDetails NNE::Systems::VulkanManager::querySwapChainSupport | ( | VkPhysicalDevice | device | ) |
Interroge les capacités de la swap chain du périphérique.
Definition at line 195 of file VulkanManager.cpp.
| int NNE::Systems::VulkanManager::rateDeviceSuitability | ( | VkPhysicalDevice | device | ) |
Évalue la pertinence d'un périphérique.
Definition at line 3050 of file VulkanManager.cpp.
|
static |
Lit un fichier binaire depuis le disque.
Definition at line 2672 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::recordCommandBuffer | ( | VkCommandBuffer | commandBuffer, |
| uint32_t | imageIndex, | ||
| const std::vector< std::pair< NNE::Component::Render::MeshComponent *, NNE::Component::TransformComponent * > > & | objects ) |
Enregistre les commandes de dessin.
Definition at line 1237 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::recreateSwapChain | ( | ) |
Reconstruit la swap chain après redimensionnement.
Definition at line 1941 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::renderFrame | ( | const std::vector< std::pair< NNE::Component::Render::MeshComponent *, NNE::Component::TransformComponent * > > & | objects | ) |
Rend une frame.
Definition at line 1832 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::renderImGui | ( | VkCommandBuffer | commandBuffer | ) |
Definition at line 1138 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::requestShadowDebug | ( | ) |
Definition at line 2634 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::transitionImageLayout | ( | VkImage | image, |
| VkFormat | format, | ||
| VkImageLayout | oldLayout, | ||
| VkImageLayout | newLayout, | ||
| uint32_t | mipLevels ) |
Change l'agencement d'une image.
Definition at line 2408 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::updateCameraAspectRatio | ( | ) |
Met à jour le ratio d'aspect de la caméra active.
Definition at line 1983 of file VulkanManager.cpp.
| void NNE::Systems::VulkanManager::updateUniformBuffer | ( | uint32_t | currentImage | ) |
Met à jour le buffer uniforme pour une image.
Definition at line 1389 of file VulkanManager.cpp.
| NNE::Component::Render::CameraComponent* NNE::Systems::VulkanManager::activeCamera = nullptr |
Definition at line 228 of file VulkanManager.h.
| NNE::Component::Render::LightComponent* NNE::Systems::VulkanManager::activeLight = nullptr |
Definition at line 229 of file VulkanManager.h.
|
protected |
Definition at line 194 of file VulkanManager.h.
|
protected |
Definition at line 195 of file VulkanManager.h.
|
protected |
Definition at line 196 of file VulkanManager.h.
|
protected |
Definition at line 155 of file VulkanManager.h.
|
protected |
Definition at line 154 of file VulkanManager.h.
|
protected |
Definition at line 159 of file VulkanManager.h.
|
protected |
Definition at line 201 of file VulkanManager.h.
|
protected |
Definition at line 202 of file VulkanManager.h.
|
protected |
Definition at line 203 of file VulkanManager.h.
|
protected |
Definition at line 198 of file VulkanManager.h.
|
protected |
Definition at line 191 of file VulkanManager.h.
| VkDevice NNE::Systems::VulkanManager::device = VK_NULL_HANDLE |
Definition at line 246 of file VulkanManager.h.
|
protected |
Definition at line 133 of file VulkanManager.h.
|
protected |
Definition at line 160 of file VulkanManager.h.
|
protected |
Definition at line 152 of file VulkanManager.h.
|
protected |
Definition at line 139 of file VulkanManager.h.
|
protected |
Definition at line 156 of file VulkanManager.h.
|
protected |
Definition at line 199 of file VulkanManager.h.
|
protected |
Definition at line 164 of file VulkanManager.h.
|
protected |
Definition at line 165 of file VulkanManager.h.
| std::vector<uint32_t> NNE::Systems::VulkanManager::indices |
Definition at line 232 of file VulkanManager.h.
|
protected |
Definition at line 158 of file VulkanManager.h.
| VkInstance NNE::Systems::VulkanManager::instance = VK_NULL_HANDLE |
Definition at line 230 of file VulkanManager.h.
|
protected |
Definition at line 175 of file VulkanManager.h.
|
protected |
Definition at line 177 of file VulkanManager.h.
|
protected |
Definition at line 176 of file VulkanManager.h.
|
protected |
Definition at line 179 of file VulkanManager.h.
|
staticconstexprprotected |
Definition at line 135 of file VulkanManager.h.
|
protected |
Definition at line 134 of file VulkanManager.h.
|
protected |
Definition at line 187 of file VulkanManager.h.
|
protected |
Definition at line 204 of file VulkanManager.h.
|
protected |
Definition at line 171 of file VulkanManager.h.
|
protected |
Definition at line 173 of file VulkanManager.h.
|
protected |
Definition at line 172 of file VulkanManager.h.
|
protected |
Definition at line 137 of file VulkanManager.h.
|
protected |
Definition at line 151 of file VulkanManager.h.
|
protected |
Definition at line 141 of file VulkanManager.h.
|
protected |
Definition at line 157 of file VulkanManager.h.
|
protected |
Definition at line 150 of file VulkanManager.h.
|
protected |
Definition at line 136 of file VulkanManager.h.
| ShadowConfig NNE::Systems::VulkanManager::shadowConfig {} |
Definition at line 227 of file VulkanManager.h.
|
protected |
Definition at line 221 of file VulkanManager.h.
|
protected |
Definition at line 219 of file VulkanManager.h.
|
protected |
Definition at line 220 of file VulkanManager.h.
|
protected |
Definition at line 209 of file VulkanManager.h.
|
protected |
Definition at line 210 of file VulkanManager.h.
|
protected |
Definition at line 216 of file VulkanManager.h.
|
protected |
Definition at line 211 of file VulkanManager.h.
|
protected |
Definition at line 212 of file VulkanManager.h.
|
protected |
Definition at line 214 of file VulkanManager.h.
|
protected |
Definition at line 218 of file VulkanManager.h.
|
protected |
Definition at line 208 of file VulkanManager.h.
|
protected |
Definition at line 213 of file VulkanManager.h.
|
protected |
Definition at line 184 of file VulkanManager.h.
|
protected |
Definition at line 185 of file VulkanManager.h.
|
protected |
Definition at line 205 of file VulkanManager.h.
|
protected |
Definition at line 140 of file VulkanManager.h.
|
protected |
Definition at line 143 of file VulkanManager.h.
|
protected |
Definition at line 146 of file VulkanManager.h.
|
protected |
Definition at line 153 of file VulkanManager.h.
|
protected |
Definition at line 145 of file VulkanManager.h.
|
protected |
Definition at line 144 of file VulkanManager.h.
|
protected |
Definition at line 148 of file VulkanManager.h.
|
protected |
Definition at line 188 of file VulkanManager.h.
|
protected |
Definition at line 189 of file VulkanManager.h.
|
protected |
Definition at line 190 of file VulkanManager.h.
|
protected |
Definition at line 192 of file VulkanManager.h.
|
protected |
Definition at line 167 of file VulkanManager.h.
|
protected |
Definition at line 169 of file VulkanManager.h.
|
protected |
Definition at line 168 of file VulkanManager.h.
|
protected |
Definition at line 181 of file VulkanManager.h.
|
protected |
Definition at line 182 of file VulkanManager.h.
| std::vector<Vertex> NNE::Systems::VulkanManager::vertices |
Definition at line 231 of file VulkanManager.h.
| GLFWwindow* NNE::Systems::VulkanManager::window |
Definition at line 233 of file VulkanManager.h.