Lugdunum  0.1.0
Classes | Public Member Functions | Private Attributes | Static Private Attributes | List of all members
lug::Graphics::Vulkan::Render::Technique::Forward Class Referencefinal

#include <Forward.hpp>

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

Classes

struct  DepthBuffer
 
struct  FrameData
 

Public Member Functions

 Forward (Renderer &renderer, const View &renderView)
 
 Forward (const Forward &)=delete
 
 Forward (Forward &&)=delete
 
Forwardoperator= (const Forward &)=delete
 
Forwardoperator= (Forward &&)=delete
 
 ~Forward ()
 
bool render (const Render::Queue &renderQueue, const API::Semaphore &imageReadySemaphore, const API::Semaphore &drawCompleteSemaphore, uint32_t currentImageIndex) override final
 
bool init (const std::vector< API::ImageView > &imageViews) override final
 
void destroy () override final
 
bool initDepthBuffers (const std::vector< API::ImageView > &imageViews) override final
 
bool initFramebuffers (const std::vector< API::ImageView > &imageViews) override final
 
- Public Member Functions inherited from lug::Graphics::Vulkan::Render::Technique::Technique
 Technique (Renderer &renderer, const View &renderView)
 
 Technique (const Technique &)=delete
 
 Technique (Technique &&)=delete
 
Techniqueoperator= (const Technique &)=delete
 
Techniqueoperator= (Technique &&)=delete
 
virtual ~Technique ()=default
 

Private Attributes

API::DeviceMemory _depthBufferMemory
 
std::vector< FrameData_framesData
 
const API::Queue_graphicsQueue {nullptr}
 
API::CommandPool _graphicsCommandPool
 
const API::Queue_transferQueue {nullptr}
 
API::CommandPool _transferCommandPool
 

Static Private Attributes

static std::unique_ptr< BufferPool::Camera_cameraBufferPool = nullptr
 
static std::unique_ptr< BufferPool::Light_lightBufferPool = nullptr
 
static std::unique_ptr< BufferPool::Material_materialBufferPool = nullptr
 
static std::unique_ptr< DescriptorSetPool::Camera_cameraDescriptorSetPool = nullptr
 
static std::unique_ptr< DescriptorSetPool::Light_lightDescriptorSetPool = nullptr
 
static std::unique_ptr< DescriptorSetPool::Material_materialDescriptorSetPool = nullptr
 
static std::unique_ptr< DescriptorSetPool::MaterialTextures_materialTexturesDescriptorSetPool = nullptr
 
static std::unique_ptr< DescriptorSetPool::SkyBox_skyBoxDescriptorSetPool = nullptr
 
static uint32_t _forwardCount = 0
 

Additional Inherited Members

- Protected Attributes inherited from lug::Graphics::Vulkan::Render::Technique::Technique
Renderer_renderer
 
const View_renderView
 

Detailed Description

Definition at line 33 of file Forward.hpp.

Constructor & Destructor Documentation

◆ Forward() [1/3]

lug::Graphics::Vulkan::Render::Technique::Forward::Forward ( Renderer renderer,
const View renderView 
)

Definition at line 49 of file Forward.cpp.

◆ Forward() [2/3]

lug::Graphics::Vulkan::Render::Technique::Forward::Forward ( const Forward )
delete

◆ Forward() [3/3]

lug::Graphics::Vulkan::Render::Technique::Forward::Forward ( Forward &&  )
delete

◆ ~Forward()

lug::Graphics::Vulkan::Render::Technique::Forward::~Forward ( )

Definition at line 53 of file Forward.cpp.

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

Forward& lug::Graphics::Vulkan::Render::Technique::Forward::operator= ( Forward &&  )
delete

◆ render()

bool lug::Graphics::Vulkan::Render::Technique::Forward::render ( const Render::Queue renderQueue,
const API::Semaphore imageReadySemaphore,
const API::Semaphore drawCompleteSemaphore,
uint32_t  currentImageIndex 
)
finaloverridevirtual

Implements lug::Graphics::Vulkan::Render::Technique::Technique.

Definition at line 57 of file Forward.cpp.

◆ init()

bool lug::Graphics::Vulkan::Render::Technique::Forward::init ( const std::vector< API::ImageView > &  imageViews)
finaloverridevirtual

Implements lug::Graphics::Vulkan::Render::Technique::Technique.

Definition at line 508 of file Forward.cpp.

◆ destroy()

void lug::Graphics::Vulkan::Render::Technique::Forward::destroy ( )
finaloverridevirtual

Implements lug::Graphics::Vulkan::Render::Technique::Technique.

Definition at line 634 of file Forward.cpp.

◆ initDepthBuffers()

bool lug::Graphics::Vulkan::Render::Technique::Forward::initDepthBuffers ( const std::vector< API::ImageView > &  imageViews)
finaloverridevirtual

Implements lug::Graphics::Vulkan::Render::Technique::Technique.

Definition at line 688 of file Forward.cpp.

◆ initFramebuffers()

bool lug::Graphics::Vulkan::Render::Technique::Forward::initFramebuffers ( const std::vector< API::ImageView > &  imageViews)
finaloverridevirtual

Implements lug::Graphics::Vulkan::Render::Technique::Technique.

Definition at line 753 of file Forward.cpp.

Member Data Documentation

◆ _depthBufferMemory

API::DeviceMemory lug::Graphics::Vulkan::Render::Technique::Forward::_depthBufferMemory
private

Definition at line 87 of file Forward.hpp.

◆ _framesData

std::vector<FrameData> lug::Graphics::Vulkan::Render::Technique::Forward::_framesData
private

Definition at line 89 of file Forward.hpp.

◆ _graphicsQueue

const API::Queue* lug::Graphics::Vulkan::Render::Technique::Forward::_graphicsQueue {nullptr}
private

Definition at line 91 of file Forward.hpp.

◆ _graphicsCommandPool

API::CommandPool lug::Graphics::Vulkan::Render::Technique::Forward::_graphicsCommandPool
private

Definition at line 92 of file Forward.hpp.

◆ _transferQueue

const API::Queue* lug::Graphics::Vulkan::Render::Technique::Forward::_transferQueue {nullptr}
private

Definition at line 94 of file Forward.hpp.

◆ _transferCommandPool

API::CommandPool lug::Graphics::Vulkan::Render::Technique::Forward::_transferCommandPool
private

Definition at line 95 of file Forward.hpp.

◆ _cameraBufferPool

std::unique_ptr< BufferPool::Camera > lug::Graphics::Vulkan::Render::Technique::Forward::_cameraBufferPool = nullptr
staticprivate

Definition at line 99 of file Forward.hpp.

◆ _lightBufferPool

std::unique_ptr< BufferPool::Light > lug::Graphics::Vulkan::Render::Technique::Forward::_lightBufferPool = nullptr
staticprivate

Definition at line 100 of file Forward.hpp.

◆ _materialBufferPool

std::unique_ptr< BufferPool::Material > lug::Graphics::Vulkan::Render::Technique::Forward::_materialBufferPool = nullptr
staticprivate

Definition at line 101 of file Forward.hpp.

◆ _cameraDescriptorSetPool

std::unique_ptr< DescriptorSetPool::Camera > lug::Graphics::Vulkan::Render::Technique::Forward::_cameraDescriptorSetPool = nullptr
staticprivate

Definition at line 103 of file Forward.hpp.

◆ _lightDescriptorSetPool

std::unique_ptr< DescriptorSetPool::Light > lug::Graphics::Vulkan::Render::Technique::Forward::_lightDescriptorSetPool = nullptr
staticprivate

Definition at line 104 of file Forward.hpp.

◆ _materialDescriptorSetPool

std::unique_ptr< DescriptorSetPool::Material > lug::Graphics::Vulkan::Render::Technique::Forward::_materialDescriptorSetPool = nullptr
staticprivate

Definition at line 105 of file Forward.hpp.

◆ _materialTexturesDescriptorSetPool

std::unique_ptr< DescriptorSetPool::MaterialTextures > lug::Graphics::Vulkan::Render::Technique::Forward::_materialTexturesDescriptorSetPool = nullptr
staticprivate

Definition at line 106 of file Forward.hpp.

◆ _skyBoxDescriptorSetPool

std::unique_ptr< DescriptorSetPool::SkyBox > lug::Graphics::Vulkan::Render::Technique::Forward::_skyBoxDescriptorSetPool = nullptr
staticprivate

Definition at line 107 of file Forward.hpp.

◆ _forwardCount

uint32_t lug::Graphics::Vulkan::Render::Technique::Forward::_forwardCount = 0
staticprivate

Definition at line 109 of file Forward.hpp.


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