Lugdunum  0.1.0
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
lug::Graphics::Vulkan::Gui Class Reference

#include <Gui.hpp>

Collaboration diagram for lug::Graphics::Vulkan::Gui:
[legend]

Classes

struct  FrameData
 
struct  PushConstBlock
 

Public Member Functions

 Gui (lug::Graphics::Vulkan::Renderer &renderer, lug::Graphics::Vulkan::Render::Window &window)
 
 Gui (const Gui &)=delete
 
 Gui (Gui &&gui)=delete
 
Guioperator= (const Gui &)=delete
 
Guioperator= (Gui &&fence)=delete
 
 ~Gui ()
 
void destroy ()
 
bool init (const std::vector< API::ImageView > &imageViews)
 
void initKeyMapping ()
 
bool initFontsTexture ()
 
bool initPipeline ()
 
bool initFramebuffers (const std::vector< API::ImageView > &)
 
void beginFrame (const lug::System::Time &elapsedTime)
 
bool endFrame (const std::vector< VkSemaphore > &waitSemaphores, uint32_t currentImageIndex)
 
bool processEvent (const lug::Window::Event event)
 
const Vulkan::API::SemaphoregetSemaphore (uint32_t currentImageIndex) const
 

Private Member Functions

bool updateBuffers (uint32_t currentImageIndex)
 
bool initFrameData ()
 

Private Attributes

lug::Graphics::Vulkan::Renderer_renderer
 
lug::Graphics::Vulkan::Render::Window_window
 
const API::Queue_graphicQueue {nullptr}
 
const API::Queue_transferQueue {nullptr}
 
std::unique_ptr< Render::DescriptorSetPool::GuiTexture_texturesDescriptorSetPool
 
API::CommandPool _graphicQueueCommandPool {}
 
API::CommandPool _transferQueueCommandPool {}
 
lug::Graphics::Resource::SharedPtr< lug::Graphics::Render::Texture_fontTexture
 
API::PipelineLayout _pipelineLayout
 
API::GraphicsPipeline _pipeline
 
std::vector< FrameData_framesData
 

Detailed Description

Definition at line 39 of file Gui.hpp.

Constructor & Destructor Documentation

◆ Gui() [1/3]

lug::Graphics::Vulkan::Gui::Gui ( lug::Graphics::Vulkan::Renderer renderer,
lug::Graphics::Vulkan::Render::Window window 
)

Definition at line 26 of file Gui.cpp.

◆ Gui() [2/3]

lug::Graphics::Vulkan::Gui::Gui ( const Gui )
delete

◆ Gui() [3/3]

lug::Graphics::Vulkan::Gui::Gui ( Gui &&  gui)
delete

◆ ~Gui()

lug::Graphics::Vulkan::Gui::~Gui ( )

Definition at line 29 of file Gui.cpp.

Member Function Documentation

◆ operator=() [1/2]

Gui& lug::Graphics::Vulkan::Gui::operator= ( const Gui )
delete

◆ operator=() [2/2]

Gui& lug::Graphics::Vulkan::Gui::operator= ( Gui &&  fence)
delete

◆ destroy()

void lug::Graphics::Vulkan::Gui::destroy ( )

Definition at line 33 of file Gui.cpp.

◆ init()

bool lug::Graphics::Vulkan::Gui::init ( const std::vector< API::ImageView > &  imageViews)

Definition at line 66 of file Gui.cpp.

◆ initKeyMapping()

void lug::Graphics::Vulkan::Gui::initKeyMapping ( )

Definition at line 131 of file Gui.cpp.

◆ initFontsTexture()

bool lug::Graphics::Vulkan::Gui::initFontsTexture ( )

Definition at line 156 of file Gui.cpp.

◆ initPipeline()

bool lug::Graphics::Vulkan::Gui::initPipeline ( )

Definition at line 227 of file Gui.cpp.

◆ initFramebuffers()

bool lug::Graphics::Vulkan::Gui::initFramebuffers ( const std::vector< API::ImageView > &  imageViews)

Definition at line 385 of file Gui.cpp.

◆ beginFrame()

void lug::Graphics::Vulkan::Gui::beginFrame ( const lug::System::Time elapsedTime)

Definition at line 407 of file Gui.cpp.

◆ endFrame()

bool lug::Graphics::Vulkan::Gui::endFrame ( const std::vector< VkSemaphore > &  waitSemaphores,
uint32_t  currentImageIndex 
)

Definition at line 424 of file Gui.cpp.

◆ processEvent()

bool lug::Graphics::Vulkan::Gui::processEvent ( const lug::Window::Event  event)

Definition at line 582 of file Gui.cpp.

◆ getSemaphore()

const Vulkan::API::Semaphore & lug::Graphics::Vulkan::Gui::getSemaphore ( uint32_t  currentImageIndex) const

Definition at line 646 of file Gui.cpp.

◆ updateBuffers()

bool lug::Graphics::Vulkan::Gui::updateBuffers ( uint32_t  currentImageIndex)
private

Definition at line 650 of file Gui.cpp.

◆ initFrameData()

bool lug::Graphics::Vulkan::Gui::initFrameData ( )
private

Definition at line 758 of file Gui.cpp.

Member Data Documentation

◆ _renderer

lug::Graphics::Vulkan::Renderer& lug::Graphics::Vulkan::Gui::_renderer
private

Definition at line 96 of file Gui.hpp.

◆ _window

lug::Graphics::Vulkan::Render::Window& lug::Graphics::Vulkan::Gui::_window
private

Definition at line 97 of file Gui.hpp.

◆ _graphicQueue

const API::Queue* lug::Graphics::Vulkan::Gui::_graphicQueue {nullptr}
private

Definition at line 99 of file Gui.hpp.

◆ _transferQueue

const API::Queue* lug::Graphics::Vulkan::Gui::_transferQueue {nullptr}
private

Definition at line 100 of file Gui.hpp.

◆ _texturesDescriptorSetPool

std::unique_ptr<Render::DescriptorSetPool::GuiTexture> lug::Graphics::Vulkan::Gui::_texturesDescriptorSetPool
private

Definition at line 102 of file Gui.hpp.

◆ _graphicQueueCommandPool

API::CommandPool lug::Graphics::Vulkan::Gui::_graphicQueueCommandPool {}
private

Definition at line 104 of file Gui.hpp.

◆ _transferQueueCommandPool

API::CommandPool lug::Graphics::Vulkan::Gui::_transferQueueCommandPool {}
private

Definition at line 105 of file Gui.hpp.

◆ _fontTexture

lug::Graphics::Resource::SharedPtr<lug::Graphics::Render::Texture> lug::Graphics::Vulkan::Gui::_fontTexture
private

Definition at line 107 of file Gui.hpp.

◆ _pipelineLayout

API::PipelineLayout lug::Graphics::Vulkan::Gui::_pipelineLayout
private

Definition at line 109 of file Gui.hpp.

◆ _pipeline

API::GraphicsPipeline lug::Graphics::Vulkan::Gui::_pipeline
private

Definition at line 110 of file Gui.hpp.

◆ _framesData

std::vector<FrameData> lug::Graphics::Vulkan::Gui::_framesData
private

Definition at line 112 of file Gui.hpp.


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