Kale
Loading...
Searching...
No Matches
Static Public Attributes | Static Protected Member Functions | Static Private Member Functions | Friends | List of all members
Kale::Vulkan::Core Class Reference

#include <Core.hpp>

Static Public Attributes

static vk::UniqueInstance instance
 
static vk::UniqueSurfaceKHR surface
 
static Device device
 
static SwapChain swapchain
 
static vk::UniqueCommandPool commandPool
 

Static Protected Member Functions

static void setupCore (std::optional< uint32_t > gpuID=std::optional< uint32_t >())
 
static void cleanupCore ()
 

Static Private Member Functions

static void createInstance ()
 
static void createCommandPool ()
 
static void chooseDevice (std::optional< uint32_t > gpuID)
 

Friends

class Kale::Application
 

Detailed Description

This class handles nearly all vulkan related details including setup, instances, validation layers, etc.

Definition at line 32 of file Core.hpp.

Member Function Documentation

◆ chooseDevice()

void Core::chooseDevice ( std::optional< uint32_t > gpuID)
staticprivate

Chooses the physical device and sets up the physical device and logical device with the appropriate extensions

Parameters
gpuIDthe ID of the GPU to use for rendering

Definition at line 168 of file CoreSetup.cpp.

◆ cleanupCore()

void Core::cleanupCore ( )
staticprotected

Cleans vulkan objects before the application closes

Definition at line 68 of file CoreSetup.cpp.

◆ createCommandPool()

void Core::createCommandPool ( )
staticprivate

Sets up the command pool

Definition at line 181 of file CoreSetup.cpp.

◆ createInstance()

void Core::createInstance ( )
staticprivate

Creates the vulkan instance for this window

Definition at line 88 of file CoreSetup.cpp.

◆ setupCore()

void Core::setupCore ( std::optional< uint32_t > gpuID = std::optional<uint32_t>())
staticprotected

Sets up the main core, any functions called prior to this will result in undefined behavior

Parameters
gpuIDthe ID of the GPU to use for rendering

Sets up the core, any functions called prior to this will result in undefined behavior

Parameters
gpuIDthe ID of the GPU to use for rendering

Definition at line 37 of file CoreSetup.cpp.

Friends And Related Symbol Documentation

◆ Kale::Application

friend class Kale::Application
friend

Definition at line 82 of file Core.hpp.

Member Data Documentation

◆ commandPool

vk::UniqueCommandPool Kale::Vulkan::Core::commandPool
inlinestatic

The vulkan command pool from which command buffers are obtained

Definition at line 109 of file Core.hpp.

◆ device

Device Kale::Vulkan::Core::device
inlinestatic

The GPU used for rendering

Definition at line 99 of file Core.hpp.

◆ instance

vk::UniqueInstance Kale::Vulkan::Core::instance
inlinestatic

The vulkan instance used for this window

Definition at line 89 of file Core.hpp.

◆ surface

vk::UniqueSurfaceKHR Kale::Vulkan::Core::surface
inlinestatic

The vulkan surface used for rendering

Definition at line 94 of file Core.hpp.

◆ swapchain

SwapChain Kale::Vulkan::Core::swapchain
inlinestatic

The swapchain for rendering

Definition at line 104 of file Core.hpp.


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