Lugdunum  0.1.0
Public Member Functions | Private Attributes | List of all members
lug::Graphics::Vulkan::Render::View Class Referencefinal

#include <View.hpp>

Inheritance diagram for lug::Graphics::Vulkan::Render::View:
[legend]
Collaboration diagram for lug::Graphics::Vulkan::Render::View:
[legend]

Public Member Functions

 View (Renderer &renderer, const ::lug::Graphics::Render::Target *renderTarget)
 
 View (const View &)=delete
 
 View (View &&)=delete
 
Viewoperator= (const View &)=delete
 
Viewoperator= (View &&)=delete
 
 ~View ()=default
 
bool init (View::InitInfo &initInfo, const API::Queue *presentQueue, const std::vector< API::ImageView > &imageViews)
 
bool render (const API::Semaphore &imageReadySemaphore, uint32_t currentImageIndex)
 
void destroy () override final
 
bool endFrame () override final
 
Technique::TechniquegetRenderTechnique ()
 
const API::SemaphoregetDrawCompleteSemaphore (uint32_t currentImageIndex) const
 
VkSurfaceFormatKHR getFormat () const
 
- Public Member Functions inherited from lug::Graphics::Render::View
 View (const Target *renderTarget)
 
 View (const View &)=delete
 
 View (View &&)=delete
 
Viewoperator= (const View &)=delete
 
Viewoperator= (View &&)=delete
 
void init (InitInfo &initInfo)
 
InitInfogetInfo ()
 
const InitInfogetInfo () const
 
const ViewportgetViewport () const
 
const ScissorgetScissor () const
 
const Math::Vec3f & getClearColor () const
 
void setClearColor (const Math::Vec3f &color)
 
void attachCamera (Resource::SharedPtr< Camera::Camera > camera)
 
Resource::SharedPtr< Camera::CameragetCamera () const
 
void update ()
 

Private Attributes

Renderer_renderer
 
std::unique_ptr< Technique::Technique_renderTechnique {nullptr}
 
std::vector< API::Semaphore_drawCompleteSemaphores
 
const API::Queue_presentQueue
 
Render::Queue _renderQueue
 

Additional Inherited Members

- Protected Attributes inherited from lug::Graphics::Render::View
const Target_renderTarget
 
InitInfo _info
 
Viewport _viewport {}
 
Scissor _scissor {}
 
Math::Vec3f _clearColor {0.0f, 0.0f, 0.0f}
 
Resource::SharedPtr< Camera::Camera_camera {nullptr}
 

Detailed Description

Definition at line 22 of file View.hpp.

Constructor & Destructor Documentation

◆ View() [1/3]

lug::Graphics::Vulkan::Render::View::View ( Renderer renderer,
const ::lug::Graphics::Render::Target renderTarget 
)

Definition at line 17 of file View.cpp.

◆ View() [2/3]

lug::Graphics::Vulkan::Render::View::View ( const View )
delete

◆ View() [3/3]

lug::Graphics::Vulkan::Render::View::View ( View &&  )
delete

◆ ~View()

lug::Graphics::Vulkan::Render::View::~View ( )
virtualdefault

Reimplemented from lug::Graphics::Render::View.

Member Function Documentation

◆ operator=() [1/2]

View& lug::Graphics::Vulkan::Render::View::operator= ( const View )
delete

◆ operator=() [2/2]

View& lug::Graphics::Vulkan::Render::View::operator= ( View &&  )
delete

◆ init()

bool lug::Graphics::Vulkan::Render::View::init ( View::InitInfo initInfo,
const API::Queue presentQueue,
const std::vector< API::ImageView > &  imageViews 
)

Definition at line 19 of file View.cpp.

◆ render()

bool lug::Graphics::Vulkan::Render::View::render ( const API::Semaphore imageReadySemaphore,
uint32_t  currentImageIndex 
)

Definition at line 52 of file View.cpp.

◆ destroy()

void lug::Graphics::Vulkan::Render::View::destroy ( )
finaloverridevirtual

Implements lug::Graphics::Render::View.

Definition at line 61 of file View.cpp.

◆ endFrame()

bool lug::Graphics::Vulkan::Render::View::endFrame ( )
finaloverridevirtual

Implements lug::Graphics::Render::View.

Definition at line 65 of file View.cpp.

◆ getRenderTechnique()

Technique::Technique * View::getRenderTechnique ( )
inline

Definition at line 1 of file View.inl.

◆ getDrawCompleteSemaphore()

const API::Semaphore & View::getDrawCompleteSemaphore ( uint32_t  currentImageIndex) const
inline

Definition at line 5 of file View.inl.

◆ getFormat()

VkSurfaceFormatKHR lug::Graphics::Vulkan::Render::View::getFormat ( ) const

Definition at line 71 of file View.cpp.

Member Data Documentation

◆ _renderer

Renderer& lug::Graphics::Vulkan::Render::View::_renderer
private

Definition at line 52 of file View.hpp.

◆ _renderTechnique

std::unique_ptr<Technique::Technique> lug::Graphics::Vulkan::Render::View::_renderTechnique {nullptr}
private

Definition at line 53 of file View.hpp.

◆ _drawCompleteSemaphores

std::vector<API::Semaphore> lug::Graphics::Vulkan::Render::View::_drawCompleteSemaphores
private

Definition at line 55 of file View.hpp.

◆ _presentQueue

const API::Queue* lug::Graphics::Vulkan::Render::View::_presentQueue
private

Definition at line 56 of file View.hpp.

◆ _renderQueue

Render::Queue lug::Graphics::Vulkan::Render::View::_renderQueue
private

Definition at line 58 of file View.hpp.


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