No Name Engine
NoNameEngine est un moteur de jeu basé sur un système Entity Component System (ECS) utilisant Vulkan pour le rendu.
Loading...
Searching...
No Matches
NNE::Systems::VulkanManager Class Reference
Collaboration diagram for NNE::Systems::VulkanManager:

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 createGraphicsPipeline ()
 Génère le pipeline graphique.
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 createDescriptorPool ()
 Crée le pool de descripteurs.
void createDescriptorSets ()
 Alloue et écrit les descripteurs.
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)
 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 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 createTextureImage (const std::string &texturePath, VkImage &textureImage, VkDeviceMemory &textureImageMemory)
 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 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 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.
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.
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

NNE::Component::Render::CameraComponentactiveCamera = nullptr
VkInstance instance = VK_NULL_HANDLE
GLFWwindow * window
VkDevice device = VK_NULL_HANDLE

Protected Attributes

size_t dynamicAlignment
const size_t MAX_OBJECTS = 100
const int MAX_FRAMES_IN_FLIGHT = 2
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
std::vector< Vertexvertices
std::vector< uint32_t > indices
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< 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
std::vector< VkDescriptorSet > descriptorSets
VkImage depthImage
VkDeviceMemory depthImageMemory
VkImageView depthImageView
VkSampleCountFlagBits msaaSamples = VK_SAMPLE_COUNT_1_BIT

Detailed Description

Definition at line 110 of file VulkanManager.h.

Constructor & Destructor Documentation

◆ VulkanManager()

NNE::Systems::VulkanManager::VulkanManager ( )

Initialise le gestionnaire Vulkan.

Definition at line 25 of file VulkanManager.cpp.

◆ ~VulkanManager()

NNE::Systems::VulkanManager::~VulkanManager ( )

Libère toutes les ressources Vulkan.

Definition at line 62 of file VulkanManager.cpp.

Member Function Documentation

◆ beginSingleTimeCommands()

VkCommandBuffer NNE::Systems::VulkanManager::beginSingleTimeCommands ( )

Commence une commande à usage unique.

Definition at line 1516 of file VulkanManager.cpp.

◆ checkDeviceExtensionSupport()

bool NNE::Systems::VulkanManager::checkDeviceExtensionSupport ( VkPhysicalDevice device)

Vérifie le support des extensions requises.

Definition at line 127 of file VulkanManager.cpp.

◆ checkValidationLayerSupport()

bool NNE::Systems::VulkanManager::checkValidationLayerSupport ( )

Vérifie la disponibilité des couches de validation.

Definition at line 269 of file VulkanManager.cpp.

◆ chooseSwapExtent()

VkExtent2D NNE::Systems::VulkanManager::chooseSwapExtent ( const VkSurfaceCapabilitiesKHR & capabilities)

Détermine les dimensions de la swap chain.

Definition at line 189 of file VulkanManager.cpp.

◆ chooseSwapPresentMode()

VkPresentModeKHR NNE::Systems::VulkanManager::chooseSwapPresentMode ( const std::vector< VkPresentModeKHR > & availablePresentModes)

Choisit le mode de présentation de la swap chain.

Definition at line 178 of file VulkanManager.cpp.

◆ chooseSwapSurfaceFormat()

VkSurfaceFormatKHR NNE::Systems::VulkanManager::chooseSwapSurfaceFormat ( const std::vector< VkSurfaceFormatKHR > & availableFormats)

Choisit le format de surface approprié.

Definition at line 168 of file VulkanManager.cpp.

◆ CleanUp()

void NNE::Systems::VulkanManager::CleanUp ( )

Nettoie toutes les ressources Vulkan.

Definition at line 1704 of file VulkanManager.cpp.

◆ cleanupSwapChain()

void NNE::Systems::VulkanManager::cleanupSwapChain ( )

Détruit les ressources de la swap chain.

Definition at line 1857 of file VulkanManager.cpp.

◆ copyBuffer()

void NNE::Systems::VulkanManager::copyBuffer ( VkBuffer srcBuffer,
VkBuffer dstBuffer,
VkDeviceSize size )

Copie les données d'un buffer à un autre.

Definition at line 722 of file VulkanManager.cpp.

◆ copyBufferToImage()

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 1628 of file VulkanManager.cpp.

◆ createBuffer()

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 693 of file VulkanManager.cpp.

◆ createColorResources()

void NNE::Systems::VulkanManager::createColorResources ( )

Crée les ressources de couleur nécessaires au MSAA.

Definition at line 1620 of file VulkanManager.cpp.

◆ createCommandBuffers()

void NNE::Systems::VulkanManager::createCommandBuffers ( )

Alloue les buffers de commandes.

Definition at line 819 of file VulkanManager.cpp.

◆ createCommandPool()

void NNE::Systems::VulkanManager::createCommandPool ( )

Crée le pool de commandes.

Definition at line 805 of file VulkanManager.cpp.

◆ createDepthResources()

void NNE::Systems::VulkanManager::createDepthResources ( )

Prépare les ressources de profondeur.

Definition at line 1460 of file VulkanManager.cpp.

◆ createDescriptorPool()

void NNE::Systems::VulkanManager::createDescriptorPool ( )

Crée le pool de descripteurs.

Definition at line 1049 of file VulkanManager.cpp.

◆ createDescriptorSetLayout()

void NNE::Systems::VulkanManager::createDescriptorSetLayout ( )

Crée le layout des descripteurs.

Definition at line 1016 of file VulkanManager.cpp.

◆ createDescriptorSets()

void NNE::Systems::VulkanManager::createDescriptorSets ( )

Alloue et écrit les descripteurs.

Definition at line 1070 of file VulkanManager.cpp.

◆ createFramebuffers()

void NNE::Systems::VulkanManager::createFramebuffers ( )

Crée les framebuffers de rendu.

Definition at line 779 of file VulkanManager.cpp.

◆ CreateGLFWWindow()

GLFWwindow * NNE::Systems::VulkanManager::CreateGLFWWindow ( int width,
int height )

Crée une fenêtre GLFW pour le rendu.

Definition at line 368 of file VulkanManager.cpp.

◆ createGraphicsPipeline()

void NNE::Systems::VulkanManager::createGraphicsPipeline ( )

Génère le pipeline graphique.

Definition at line 554 of file VulkanManager.cpp.

◆ createImage()

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 1303 of file VulkanManager.cpp.

◆ createImageView()

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 456 of file VulkanManager.cpp.

◆ createImageViews()

void NNE::Systems::VulkanManager::createImageViews ( )

Crée les vues d'images de la swap chain.

Definition at line 447 of file VulkanManager.cpp.

◆ createIndexBuffer()

void NNE::Systems::VulkanManager::createIndexBuffer ( )

Crée le buffer d'indices.

Definition at line 733 of file VulkanManager.cpp.

◆ createLogicalDevice()

void NNE::Systems::VulkanManager::createLogicalDevice ( )

Crée le périphérique logique Vulkan.

Definition at line 320 of file VulkanManager.cpp.

◆ createRenderPass()

void NNE::Systems::VulkanManager::createRenderPass ( )

Établit le render pass.

Definition at line 477 of file VulkanManager.cpp.

◆ createShaderModule()

VkShaderModule NNE::Systems::VulkanManager::createShaderModule ( const std::vector< char > & code)

Crée un module de shader à partir de code binaire.

Definition at line 1661 of file VulkanManager.cpp.

◆ createSurface()

void NNE::Systems::VulkanManager::createSurface ( )

Crée la surface de rendu Vulkan.

Definition at line 385 of file VulkanManager.cpp.

◆ createSwapChain()

void NNE::Systems::VulkanManager::createSwapChain ( )

Met en place la swap chain.

Definition at line 392 of file VulkanManager.cpp.

◆ createSyncObjects()

void NNE::Systems::VulkanManager::createSyncObjects ( )

Crée les objets de synchronisation.

Definition at line 1174 of file VulkanManager.cpp.

◆ createTextureImage()

void NNE::Systems::VulkanManager::createTextureImage ( const std::string & texturePath,
VkImage & textureImage,
VkDeviceMemory & textureImageMemory )

Charge une texture depuis le disque.

Definition at line 1240 of file VulkanManager.cpp.

◆ createTextureImageView()

void NNE::Systems::VulkanManager::createTextureImageView ( VkImage textureImage,
VkImageView & textureImageView )

Crée une vue pour une image de texture.

Definition at line 1339 of file VulkanManager.cpp.

◆ createTextureSampler()

void NNE::Systems::VulkanManager::createTextureSampler ( VkSampler & textureSampler)

Crée un sampler pour les textures.

Definition at line 1344 of file VulkanManager.cpp.

◆ createUniformBuffers()

void NNE::Systems::VulkanManager::createUniformBuffers ( )

Crée les buffers uniformes.

Definition at line 835 of file VulkanManager.cpp.

◆ createVertexBuffer()

void NNE::Systems::VulkanManager::createVertexBuffer ( )

Crée le buffer de sommets.

Definition at line 756 of file VulkanManager.cpp.

◆ CreateVulkanInstance()

void NNE::Systems::VulkanManager::CreateVulkanInstance ( )

Crée l'instance Vulkan principale.

Definition at line 224 of file VulkanManager.cpp.

◆ drawFrame()

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 1103 of file VulkanManager.cpp.

◆ endSingleTimeCommands()

void NNE::Systems::VulkanManager::endSingleTimeCommands ( VkCommandBuffer commandBuffer)

Termine l'exécution d'une commande à usage unique.

Definition at line 1536 of file VulkanManager.cpp.

◆ findDepthFormat()

VkFormat NNE::Systems::VulkanManager::findDepthFormat ( )

Récupère le format utilisé pour la profondeur.

Definition at line 1486 of file VulkanManager.cpp.

◆ findMemoryType()

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 210 of file VulkanManager.cpp.

◆ findQueueFamilies()

NNE::Systems::QueueFamilyIndices NNE::Systems::VulkanManager::findQueueFamilies ( VkPhysicalDevice device)

Trouve les familles de files nécessaires.

Definition at line 89 of file VulkanManager.cpp.

◆ findSupportedFormat()

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 1469 of file VulkanManager.cpp.

◆ framebufferResizeCallback()

void NNE::Systems::VulkanManager::framebufferResizeCallback ( GLFWwindow * window,
int width,
int height )
static

Callback lors du redimensionnement de la fenêtre.

Definition at line 379 of file VulkanManager.cpp.

◆ generateMipmaps()

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 1372 of file VulkanManager.cpp.

◆ getMaxUsableSampleCount()

VkSampleCountFlagBits NNE::Systems::VulkanManager::getMaxUsableSampleCount ( )

Retourne le niveau d'échantillonnage maximal supporté.

Definition at line 1500 of file VulkanManager.cpp.

◆ hasStencilComponent()

bool NNE::Systems::VulkanManager::hasStencilComponent ( VkFormat format)

Vérifie si le format possède un composant stencil.

Definition at line 1495 of file VulkanManager.cpp.

◆ initVulkan()

void NNE::Systems::VulkanManager::initVulkan ( )

Configure et lance l'initialisation Vulkan.

Definition at line 67 of file VulkanManager.cpp.

◆ isDeviceSuitable()

bool NNE::Systems::VulkanManager::isDeviceSuitable ( VkPhysicalDevice device)

Vérifie si un périphérique physique convient.

Definition at line 1972 of file VulkanManager.cpp.

◆ LoadMeshes()

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 1277 of file VulkanManager.cpp.

◆ loadModel()

void NNE::Systems::VulkanManager::loadModel ( const std::string & modelPath)

Charge un modèle 3D depuis le disque.

Definition at line 970 of file VulkanManager.cpp.

◆ pickPhysicalDevice()

void NNE::Systems::VulkanManager::pickPhysicalDevice ( )

Sélectionne le périphérique physique approprié.

Definition at line 295 of file VulkanManager.cpp.

◆ querySwapChainSupport()

NNE::Systems::SwapChainSupportDetails NNE::Systems::VulkanManager::querySwapChainSupport ( VkPhysicalDevice device)

Interroge les capacités de la swap chain du périphérique.

Definition at line 144 of file VulkanManager.cpp.

◆ rateDeviceSuitability()

int NNE::Systems::VulkanManager::rateDeviceSuitability ( VkPhysicalDevice device)

Évalue la pertinence d'un périphérique.

Definition at line 1989 of file VulkanManager.cpp.

◆ readFile()

std::vector< char > NNE::Systems::VulkanManager::readFile ( const std::string & filename)
static

Lit un fichier binaire depuis le disque.

Definition at line 1684 of file VulkanManager.cpp.

◆ recordCommandBuffer()

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 864 of file VulkanManager.cpp.

◆ recreateSwapChain()

void NNE::Systems::VulkanManager::recreateSwapChain ( )

Reconstruit la swap chain après redimensionnement.

Definition at line 1197 of file VulkanManager.cpp.

◆ transitionImageLayout()

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 1551 of file VulkanManager.cpp.

◆ updateCameraAspectRatio()

void NNE::Systems::VulkanManager::updateCameraAspectRatio ( )

Met à jour le ratio d'aspect de la caméra active.

Definition at line 1228 of file VulkanManager.cpp.

◆ updateUniformBuffer()

void NNE::Systems::VulkanManager::updateUniformBuffer ( uint32_t currentImage)

Met à jour le buffer uniforme pour une image.

Definition at line 954 of file VulkanManager.cpp.

Member Data Documentation

◆ activeCamera

NNE::Component::Render::CameraComponent* NNE::Systems::VulkanManager::activeCamera = nullptr

Definition at line 183 of file VulkanManager.h.

◆ colorImage

VkImage NNE::Systems::VulkanManager::colorImage
protected

Definition at line 170 of file VulkanManager.h.

◆ colorImageMemory

VkDeviceMemory NNE::Systems::VulkanManager::colorImageMemory
protected

Definition at line 171 of file VulkanManager.h.

◆ colorImageView

VkImageView NNE::Systems::VulkanManager::colorImageView
protected

Definition at line 172 of file VulkanManager.h.

◆ commandBuffers

std::vector<VkCommandBuffer> NNE::Systems::VulkanManager::commandBuffers
protected

Definition at line 134 of file VulkanManager.h.

◆ commandPool

VkCommandPool NNE::Systems::VulkanManager::commandPool
protected

Definition at line 133 of file VulkanManager.h.

◆ currentFrame

uint32_t NNE::Systems::VulkanManager::currentFrame = 0
protected

Definition at line 138 of file VulkanManager.h.

◆ depthImage

VkImage NNE::Systems::VulkanManager::depthImage
protected

Definition at line 177 of file VulkanManager.h.

◆ depthImageMemory

VkDeviceMemory NNE::Systems::VulkanManager::depthImageMemory
protected

Definition at line 178 of file VulkanManager.h.

◆ depthImageView

VkImageView NNE::Systems::VulkanManager::depthImageView
protected

Definition at line 179 of file VulkanManager.h.

◆ descriptorPool

VkDescriptorPool NNE::Systems::VulkanManager::descriptorPool
protected

Definition at line 174 of file VulkanManager.h.

◆ descriptorSetLayout

VkDescriptorSetLayout NNE::Systems::VulkanManager::descriptorSetLayout
protected

Definition at line 167 of file VulkanManager.h.

◆ descriptorSets

std::vector<VkDescriptorSet> NNE::Systems::VulkanManager::descriptorSets
protected

Definition at line 175 of file VulkanManager.h.

◆ device

VkDevice NNE::Systems::VulkanManager::device = VK_NULL_HANDLE

Definition at line 198 of file VulkanManager.h.

◆ dynamicAlignment

size_t NNE::Systems::VulkanManager::dynamicAlignment
protected

Definition at line 113 of file VulkanManager.h.

◆ framebufferResized

bool NNE::Systems::VulkanManager::framebufferResized = false
protected

Definition at line 139 of file VulkanManager.h.

◆ graphicsPipeline

VkPipeline NNE::Systems::VulkanManager::graphicsPipeline
protected

Definition at line 131 of file VulkanManager.h.

◆ graphicsQueue

VkQueue NNE::Systems::VulkanManager::graphicsQueue = VK_NULL_HANDLE
protected

Definition at line 118 of file VulkanManager.h.

◆ imageAvailableSemaphores

std::vector< VkSemaphore> NNE::Systems::VulkanManager::imageAvailableSemaphores
protected

Definition at line 135 of file VulkanManager.h.

◆ indexBuffer

VkBuffer NNE::Systems::VulkanManager::indexBuffer
protected

Definition at line 144 of file VulkanManager.h.

◆ indexBufferMemory

VkDeviceMemory NNE::Systems::VulkanManager::indexBufferMemory
protected

Definition at line 145 of file VulkanManager.h.

◆ indices

std::vector<uint32_t> NNE::Systems::VulkanManager::indices
protected

Definition at line 142 of file VulkanManager.h.

◆ inFlightFences

std::vector< VkFence> NNE::Systems::VulkanManager::inFlightFences
protected

Definition at line 137 of file VulkanManager.h.

◆ instance

VkInstance NNE::Systems::VulkanManager::instance = VK_NULL_HANDLE

Definition at line 184 of file VulkanManager.h.

◆ loadedMeshes

std::vector<NNE::Component::Render::MeshComponent*> NNE::Systems::VulkanManager::loadedMeshes
protected

Definition at line 155 of file VulkanManager.h.

◆ MAX_FRAMES_IN_FLIGHT

const int NNE::Systems::VulkanManager::MAX_FRAMES_IN_FLIGHT = 2
protected

Definition at line 115 of file VulkanManager.h.

◆ MAX_OBJECTS

const size_t NNE::Systems::VulkanManager::MAX_OBJECTS = 100
protected

Definition at line 114 of file VulkanManager.h.

◆ mipLevels

uint32_t NNE::Systems::VulkanManager::mipLevels
protected

Definition at line 163 of file VulkanManager.h.

◆ msaaSamples

VkSampleCountFlagBits NNE::Systems::VulkanManager::msaaSamples = VK_SAMPLE_COUNT_1_BIT
protected

Definition at line 180 of file VulkanManager.h.

◆ objectUniformBuffers

std::vector<VkBuffer> NNE::Systems::VulkanManager::objectUniformBuffers
protected

Definition at line 151 of file VulkanManager.h.

◆ objectUniformBuffersMapped

std::vector<void*> NNE::Systems::VulkanManager::objectUniformBuffersMapped
protected

Definition at line 153 of file VulkanManager.h.

◆ objectUniformBuffersMemory

std::vector<VkDeviceMemory> NNE::Systems::VulkanManager::objectUniformBuffersMemory
protected

Definition at line 152 of file VulkanManager.h.

◆ physicalDevice

VkPhysicalDevice NNE::Systems::VulkanManager::physicalDevice = VK_NULL_HANDLE
protected

Definition at line 116 of file VulkanManager.h.

◆ pipelineLayout

VkPipelineLayout NNE::Systems::VulkanManager::pipelineLayout
protected

Definition at line 130 of file VulkanManager.h.

◆ presentQueue

VkQueue NNE::Systems::VulkanManager::presentQueue = VK_NULL_HANDLE
protected

Definition at line 120 of file VulkanManager.h.

◆ renderFinishedSemaphores

std::vector< VkSemaphore> NNE::Systems::VulkanManager::renderFinishedSemaphores
protected

Definition at line 136 of file VulkanManager.h.

◆ renderPass

VkRenderPass NNE::Systems::VulkanManager::renderPass
protected

Definition at line 129 of file VulkanManager.h.

◆ stagingBuffer

VkBuffer NNE::Systems::VulkanManager::stagingBuffer
protected

Definition at line 160 of file VulkanManager.h.

◆ stagingBufferMemory

VkDeviceMemory NNE::Systems::VulkanManager::stagingBufferMemory
protected

Definition at line 161 of file VulkanManager.h.

◆ surface

VkSurfaceKHR NNE::Systems::VulkanManager::surface = VK_NULL_HANDLE
protected

Definition at line 119 of file VulkanManager.h.

◆ swapChain

VkSwapchainKHR NNE::Systems::VulkanManager::swapChain
protected

Definition at line 122 of file VulkanManager.h.

◆ swapChainExtent

VkExtent2D NNE::Systems::VulkanManager::swapChainExtent
protected

Definition at line 125 of file VulkanManager.h.

◆ swapChainFramebuffers

std::vector<VkFramebuffer> NNE::Systems::VulkanManager::swapChainFramebuffers
protected

Definition at line 132 of file VulkanManager.h.

◆ swapChainImageFormat

VkFormat NNE::Systems::VulkanManager::swapChainImageFormat
protected

Definition at line 124 of file VulkanManager.h.

◆ swapChainImages

std::vector<VkImage> NNE::Systems::VulkanManager::swapChainImages
protected

Definition at line 123 of file VulkanManager.h.

◆ swapChainImageViews

std::vector<VkImageView> NNE::Systems::VulkanManager::swapChainImageViews
protected

Definition at line 127 of file VulkanManager.h.

◆ textureImage

VkImage NNE::Systems::VulkanManager::textureImage
protected

Definition at line 164 of file VulkanManager.h.

◆ textureImageMemory

VkDeviceMemory NNE::Systems::VulkanManager::textureImageMemory
protected

Definition at line 165 of file VulkanManager.h.

◆ textureImageView

VkImageView NNE::Systems::VulkanManager::textureImageView
protected

Definition at line 166 of file VulkanManager.h.

◆ textureSampler

VkSampler NNE::Systems::VulkanManager::textureSampler
protected

Definition at line 168 of file VulkanManager.h.

◆ uniformBuffers

std::vector<VkBuffer> NNE::Systems::VulkanManager::uniformBuffers
protected

Definition at line 147 of file VulkanManager.h.

◆ uniformBuffersMapped

std::vector<void*> NNE::Systems::VulkanManager::uniformBuffersMapped
protected

Definition at line 149 of file VulkanManager.h.

◆ uniformBuffersMemory

std::vector<VkDeviceMemory> NNE::Systems::VulkanManager::uniformBuffersMemory
protected

Definition at line 148 of file VulkanManager.h.

◆ vertexBuffer

VkBuffer NNE::Systems::VulkanManager::vertexBuffer
protected

Definition at line 157 of file VulkanManager.h.

◆ vertexBufferMemory

VkDeviceMemory NNE::Systems::VulkanManager::vertexBufferMemory
protected

Definition at line 158 of file VulkanManager.h.

◆ vertices

std::vector<Vertex> NNE::Systems::VulkanManager::vertices
protected

Definition at line 141 of file VulkanManager.h.

◆ window

GLFWwindow* NNE::Systems::VulkanManager::window

Definition at line 185 of file VulkanManager.h.


The documentation for this class was generated from the following files: