Lugdunum  0.1.0
Public Member Functions | Private Attributes | List of all members
lug::Graphics::Vulkan::API::Builder::Framebuffer Class Reference

#include <Framebuffer.hpp>

Collaboration diagram for lug::Graphics::Vulkan::API::Builder::Framebuffer:
[legend]

Public Member Functions

 Framebuffer (const API::Device &device)
 
 Framebuffer (const Framebuffer &)=delete
 
 Framebuffer (Framebuffer &&)=delete
 
Framebufferoperator= (const Framebuffer &)=delete
 
Framebufferoperator= (Framebuffer &&)=delete
 
 ~Framebuffer ()=default
 
void setRenderPass (const API::RenderPass *renderPass)
 
void addAttachment (const API::ImageView *attachment)
 
void setWidth (uint32_t width)
 
void setHeight (uint32_t height)
 
void setLayers (uint32_t layers)
 
bool build (API::Framebuffer &framebuffer, VkResult *returnResult=nullptr)
 
std::unique_ptr< API::Framebufferbuild (VkResult *returnResult=nullptr)
 

Private Attributes

const API::Device_device
 
const API::RenderPass_renderPass {nullptr}
 
std::vector< const API::ImageView * > _attachments {}
 
uint32_t _width {0}
 
uint32_t _height {0}
 
uint32_t _layers {1}
 

Detailed Description

Definition at line 19 of file Framebuffer.hpp.

Constructor & Destructor Documentation

◆ Framebuffer() [1/3]

lug::Graphics::Vulkan::API::Builder::Framebuffer::Framebuffer ( const API::Device device)

Definition at line 15 of file Framebuffer.cpp.

◆ Framebuffer() [2/3]

lug::Graphics::Vulkan::API::Builder::Framebuffer::Framebuffer ( const Framebuffer )
delete

◆ Framebuffer() [3/3]

lug::Graphics::Vulkan::API::Builder::Framebuffer::Framebuffer ( Framebuffer &&  )
delete

◆ ~Framebuffer()

lug::Graphics::Vulkan::API::Builder::Framebuffer::~Framebuffer ( )
default

Member Function Documentation

◆ operator=() [1/2]

Framebuffer& lug::Graphics::Vulkan::API::Builder::Framebuffer::operator= ( const Framebuffer )
delete

◆ operator=() [2/2]

Framebuffer& lug::Graphics::Vulkan::API::Builder::Framebuffer::operator= ( Framebuffer &&  )
delete

◆ setRenderPass()

void Framebuffer::setRenderPass ( const API::RenderPass renderPass)
inline

Definition at line 1 of file Framebuffer.inl.

◆ addAttachment()

void Framebuffer::addAttachment ( const API::ImageView attachment)
inline

Definition at line 5 of file Framebuffer.inl.

◆ setWidth()

void Framebuffer::setWidth ( uint32_t  width)
inline

Definition at line 9 of file Framebuffer.inl.

◆ setHeight()

void Framebuffer::setHeight ( uint32_t  height)
inline

Definition at line 13 of file Framebuffer.inl.

◆ setLayers()

void Framebuffer::setLayers ( uint32_t  layers)
inline

Definition at line 17 of file Framebuffer.inl.

◆ build() [1/2]

bool lug::Graphics::Vulkan::API::Builder::Framebuffer::build ( API::Framebuffer framebuffer,
VkResult *  returnResult = nullptr 
)

Definition at line 17 of file Framebuffer.cpp.

◆ build() [2/2]

std::unique_ptr< API::Framebuffer > lug::Graphics::Vulkan::API::Builder::Framebuffer::build ( VkResult *  returnResult = nullptr)

Definition at line 55 of file Framebuffer.cpp.

Member Data Documentation

◆ _device

const API::Device& lug::Graphics::Vulkan::API::Builder::Framebuffer::_device
private

Definition at line 43 of file Framebuffer.hpp.

◆ _renderPass

const API::RenderPass* lug::Graphics::Vulkan::API::Builder::Framebuffer::_renderPass {nullptr}
private

Definition at line 45 of file Framebuffer.hpp.

◆ _attachments

std::vector<const API::ImageView*> lug::Graphics::Vulkan::API::Builder::Framebuffer::_attachments {}
private

Definition at line 46 of file Framebuffer.hpp.

◆ _width

uint32_t lug::Graphics::Vulkan::API::Builder::Framebuffer::_width {0}
private

Definition at line 47 of file Framebuffer.hpp.

◆ _height

uint32_t lug::Graphics::Vulkan::API::Builder::Framebuffer::_height {0}
private

Definition at line 48 of file Framebuffer.hpp.

◆ _layers

uint32_t lug::Graphics::Vulkan::API::Builder::Framebuffer::_layers {1}
private

Definition at line 49 of file Framebuffer.hpp.


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