luna engine
software engine
Loading...
Searching...
No Matches
luna::vulkan::vulkanSwapchain Class Reference

the vulkanSwapchain is a collection of vulkan frambuffers and image views to wich the scene will be . More...

#include <vulkanSwapchain.h>

Collaboration diagram for luna::vulkan::vulkanSwapchain:

Public Member Functions

 vulkanSwapchain (const swapchainSpec &swapChainSpec)
 
virtual ~vulkanSwapchain ()
 
VkResult createSwapchain (const swapchainSpec &swapChainSpec)
 creates the swapchain. More...
 
VkResult recreateSwapchain ()
 recreates the swapchain. More...
 
VkViewport getViewport ()
 returns the main viewport handle. More...
 
VkRect2D getScissor ()
 returns the viewport scissor. More...
 
VkResult initViewport (uint32_t maxFramesInFlight)
 initializes the main viewport. More...
 
VkResult recreateViewport (uint32_t maxFramesInFlight)
 recreates the swapchain. More...
 
VkFormat getSurfaceFormat ()
 returns the surface format. More...
 
VkFramebuffer getFrameBuffer (uint8_t index)
 returns the framebuffer given an index. More...
 
VkDescriptorSet getViewportImage (uint8_t currentFrame)
 returns a ViewportImage descriptor. More...
 

Public Attributes

std::vector< VkImage > sceneViewportImages
 
vkb::Swapchain mSwapchain
 
std::vector< VkFramebuffer > frameBuffers
 
std::vector< VkDescriptorSet > m_Dset
 

Private Member Functions

VkResult destroySwapchain ()
 destroys the device bound swapchain. More...
 

Private Attributes

swapchainSpec mSwapchainSpec
 
std::vector< VkImage > swapchainImages
 
std::vector< VkImageView > swapChainImageViews
 
VkFormat swapchainImageFormat
 
bool init = false
 
VkSampler viewportSampler
 
VkSurfaceCapabilitiesKHR surfaceCapaBilities
 
std::vector< VkImageView > sceneViewportImageViews
 

Detailed Description

the vulkanSwapchain is a collection of vulkan frambuffers and image views to wich the scene will be .

Constructor & Destructor Documentation

◆ vulkanSwapchain()

luna::vulkan::vulkanSwapchain::vulkanSwapchain ( const swapchainSpec swapChainSpec)

◆ ~vulkanSwapchain()

luna::vulkan::vulkanSwapchain::~vulkanSwapchain ( )
virtual

Member Function Documentation

◆ createSwapchain()

VkResult luna::vulkan::vulkanSwapchain::createSwapchain ( const swapchainSpec swapChainSpec)

creates the swapchain.

Parameters
swapChainSpecspecification for the swapchain type.
Returns
VK_SUCCESS whe the swapchain was created succesfuly
for appropriate error info see: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCreateSwapchainKHR.html

◆ destroySwapchain()

VkResult luna::vulkan::vulkanSwapchain::destroySwapchain ( )
private

destroys the device bound swapchain.

Returns
VK_SUCCES

◆ getFrameBuffer()

VkFramebuffer luna::vulkan::vulkanSwapchain::getFrameBuffer ( uint8_t  index)
inline

returns the framebuffer given an index.

Parameters
VkFrameBufferthe framebuffer handle.

◆ getScissor()

VkRect2D luna::vulkan::vulkanSwapchain::getScissor ( )

returns the viewport scissor.

Returns
VkRect2D extent.

◆ getSurfaceFormat()

VkFormat luna::vulkan::vulkanSwapchain::getSurfaceFormat ( )
inline

returns the surface format.

Parameters
VkFormat

◆ getViewport()

VkViewport luna::vulkan::vulkanSwapchain::getViewport ( )

returns the main viewport handle.

Returns
VkViewport main handle.

◆ getViewportImage()

VkDescriptorSet luna::vulkan::vulkanSwapchain::getViewportImage ( uint8_t  currentFrame)
inline

returns a ViewportImage descriptor.

Parameters
VkDescriptorSetimage descriptor.

◆ initViewport()

VkResult luna::vulkan::vulkanSwapchain::initViewport ( uint32_t  maxFramesInFlight)

initializes the main viewport.

Returns
VK_SUCCESS when the initialization was succesful.

◆ recreateSwapchain()

VkResult luna::vulkan::vulkanSwapchain::recreateSwapchain ( )

recreates the swapchain.

Returns
returns VK_SUCCESS on succesful creation.

◆ recreateViewport()

VkResult luna::vulkan::vulkanSwapchain::recreateViewport ( uint32_t  maxFramesInFlight)

recreates the swapchain.

Parameters
maxFramesInFlight
Returns
VK_SUCCES when recreation was succesful.

Member Data Documentation

◆ frameBuffers

std::vector<VkFramebuffer> luna::vulkan::vulkanSwapchain::frameBuffers

◆ init

bool luna::vulkan::vulkanSwapchain::init = false
private

◆ m_Dset

std::vector<VkDescriptorSet> luna::vulkan::vulkanSwapchain::m_Dset

◆ mSwapchain

vkb::Swapchain luna::vulkan::vulkanSwapchain::mSwapchain

◆ mSwapchainSpec

swapchainSpec luna::vulkan::vulkanSwapchain::mSwapchainSpec
private

◆ sceneViewportImages

std::vector<VkImage> luna::vulkan::vulkanSwapchain::sceneViewportImages

◆ sceneViewportImageViews

std::vector<VkImageView> luna::vulkan::vulkanSwapchain::sceneViewportImageViews
private

◆ surfaceCapaBilities

VkSurfaceCapabilitiesKHR luna::vulkan::vulkanSwapchain::surfaceCapaBilities
private

◆ swapchainImageFormat

VkFormat luna::vulkan::vulkanSwapchain::swapchainImageFormat
private

◆ swapchainImages

std::vector<VkImage> luna::vulkan::vulkanSwapchain::swapchainImages
private

◆ swapChainImageViews

std::vector<VkImageView> luna::vulkan::vulkanSwapchain::swapChainImageViews
private

◆ viewportSampler

VkSampler luna::vulkan::vulkanSwapchain::viewportSampler
private

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