SpiecsEngine
 
Loading...
Searching...
No Matches
Spices::VulkanRenderBackend Class Reference

This class defines the render backend behaves of Vulkan. More...

#include <VulkanRenderBackend.h>

Public Member Functions

 VulkanRenderBackend ()
 Constructor Function.
 
virtual ~VulkanRenderBackend ()
 Destructor Function.
 
 VulkanRenderBackend (const VulkanRenderBackend &)=delete
 Copy Constructor Function.
 
VulkanRenderBackendoperator= (const VulkanRenderBackend &)=delete
 Copy Assignment Operation.
 
bool isWindowClosed ()
 Determine whether window is closed.
 
void BeginFrame (FrameInfo &frameInfo)
 Start record a new frame with vulkan render backend.
 
void EndFrame (FrameInfo &frameInfo)
 End record the frame with vulkan render backend.
 
void RenderFrame (TimeStep &ts, FrameInfo &frameInfo)
 Draw World.
 
void OnEvent (Event &event)
 This function is called on global event function is called.
 

Static Public Member Functions

static VulkanStateGetState ()
 Get VulkanState in use.
 
static std::shared_ptr< VulkanDescriptorPoolGetDescriptorPool ()
 Get DescriptorPool in use.
 
static std::shared_ptr< RendererResourcePoolGetRendererResourcePool ()
 Get RendererResourcePool in use.
 

Private Member Functions

bool OnWindowResizeOver (WindowResizeOverEvent &event)
 This function is called on window is resized over.
 
bool OnSlateResize (SlateResizeEvent &event)
 This function is called on viewport is resized.
 
bool OnMeshAddedWorldEvent (WorldEvent &event)
 This function is called on world mark query tick.
 
void RecreateSwapChain ()
 Called OnSlateResize.
 

Private Attributes

std::unique_ptr< VulkanWindowsm_VulkanWindows
 VulkanWindows.
 
std::unique_ptr< VulkanInstancem_VulkanInstance
 VulkanInstance.
 
std::shared_ptr< VulkanDevicem_VulkanDevice
 VulkanDevice.
 
std::shared_ptr< VulkanMemoryAllocatorm_VmaAllocator
 VulkanMemoryAllocator.
 
std::unique_ptr< VulkanCommandPoolm_VulkanCommandPool
 VulkanCommandPool.
 
std::unique_ptr< VulkanCommandBufferm_VulkanCommandBuffer
 VulkanCommandBuffer.
 
std::unique_ptr< VulkanSwapChainm_VulkanSwapChain
 VulkanSwapChain.
 

Static Private Attributes

static VulkanState m_VulkanState
 The VulkanState in use.
 
static std::shared_ptr< VulkanDescriptorPoolm_VulkanDescriptorPool
 The VulkanDescriptorPool in use.
 
static std::shared_ptr< RendererResourcePoolm_RendererResourcePool
 The RendererResourcePool in use.
 

Detailed Description

This class defines the render backend behaves of Vulkan.

Definition at line 36 of file VulkanRenderBackend.h.


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