![]() |
LiteFX 0.3.1.2022
Computer Graphics Engine
|
Implements a Vulkan frame buffer. More...
#include <vulkan.hpp>
Inherits LiteFX::Rendering::FrameBuffer< VulkanCommandBuffer >, and LiteFX::Resource< VkFramebuffer >.
Classes | |
class | VulkanFrameBufferImpl |
Public Member Functions | |
VulkanFrameBuffer (const VulkanRenderPass &renderPass, const UInt32 &bufferIndex, const Size2d &renderArea, const UInt32 &commandBuffers=1) | |
Initializes a Vulkan frame buffer. More... | |
VulkanFrameBuffer (const VulkanFrameBuffer &) noexcept=delete | |
VulkanFrameBuffer (VulkanFrameBuffer &&) noexcept=delete | |
virtual | ~VulkanFrameBuffer () noexcept |
virtual const VkSemaphore & | semaphore () const noexcept |
Returns a reference of the semaphore, that can be used to signal, that the frame buffer is finished. More... | |
virtual UInt64 & | lastFence () const noexcept |
Returns a reference of the last fence value for the frame buffer. More... | |
virtual const UInt32 & | bufferIndex () const noexcept override |
Returns the index of the buffer within the RenderPass. More... | |
virtual const Size2d & | size () const noexcept override |
Returns the current size of the frame buffer. More... | |
virtual size_t | getWidth () const noexcept override |
Returns the current width of the frame buffer. More... | |
virtual size_t | getHeight () const noexcept override |
Returns the current height of the frame buffer. More... | |
virtual const VulkanCommandBuffer & | commandBuffer (const UInt32 &index) const override |
Returns a command buffer that records draw commands for the frame buffer. More... | |
virtual Array< const VulkanCommandBuffer * > | commandBuffers () const noexcept override |
virtual Array< const IVulkanImage * > | images () const noexcept override |
virtual const IVulkanImage & | image (const UInt32 &location) const override |
Returns the image that stores the output attachment for the render target mapped the location passed with location . More... | |
virtual void | resize (const Size2d &renderArea) override |
Causes the frame buffer to be invalidated and recreated with a new size. More... | |
![]() | |
virtual | ~FrameBuffer () noexcept=default |
virtual Array< const command_buffer_type * > | commandBuffers () const noexcept=0 |
virtual const command_buffer_type & | commandBuffer (const UInt32 &index) const=0 |
Returns a command buffer that records draw commands for the frame buffer. More... | |
virtual Array< const image_type * > | images () const noexcept=0 |
virtual const image_type & | image (const UInt32 &location) const=0 |
Returns the image that stores the output attachment for the render target mapped the location passed with location . More... | |
![]() | |
virtual | ~IFrameBuffer () noexcept=default |
virtual const UInt32 & | bufferIndex () const noexcept=0 |
Returns the index of the buffer within the RenderPass. More... | |
virtual const Size2d & | size () const noexcept=0 |
Returns the current size of the frame buffer. More... | |
virtual size_t | getWidth () const noexcept=0 |
Returns the current width of the frame buffer. More... | |
virtual size_t | getHeight () const noexcept=0 |
Returns the current height of the frame buffer. More... | |
Array< const ICommandBuffer * > | commandBuffers () const noexcept |
Returns all command buffers, the frame buffer stores. More... | |
virtual const ICommandBuffer & | commandBuffer (const UInt32 &index) const =0 |
Returns a command buffer that records draw commands for the frame buffer. More... | |
Array< const IImage * > | images () const noexcept |
Returns the images that store the output attachments for the render targets of the RenderPass. More... | |
virtual const IImage & | image (const UInt32 &location) const =0 |
Returns the image that stores the output attachment for the render target mapped the location passed with location . More... | |
virtual void | resize (const Size2d &renderArea)=0 |
Causes the frame buffer to be invalidated and recreated with a new size. More... | |
![]() | |
Resource (const Resource &)=delete | |
Resource (Resource &&)=delete | |
virtual | ~Resource () noexcept=default |
const VkFramebuffer & | handle () const noexcept override |
Returns the resource managed by the class. More... | |
![]() | |
virtual | ~IResource () noexcept=default |
virtual const VkFramebuffer & | handle () const noexcept=0 |
Returns the resource managed by the class. More... | |
Additional Inherited Members | |
![]() | |
using | command_buffer_type = VulkanCommandBuffer |
using | image_type = command_buffer_type::image_type |
![]() | |
Resource (const VkFramebuffer handle) noexcept | |
Initializes the managed resource. More... | |
VkFramebuffer & | handle () noexcept override |
Returns the resource managed by the class. More... | |
virtual VkFramebuffer & | handle () noexcept=0 |
Returns the resource managed by the class. More... | |
Implements a Vulkan frame buffer.
VulkanFrameBuffer::VulkanFrameBuffer | ( | const VulkanRenderPass & | renderPass, |
const UInt32 & | bufferIndex, | ||
const Size2d & | renderArea, | ||
const UInt32 & | commandBuffers = 1 |
||
) |
Initializes a Vulkan frame buffer.
renderPass | The parent render pass of the frame buffer. |
bufferIndex | The index of the frame buffer within the parent render pass. |
renderArea | The initial size of the render area. |
commandBuffers | The number of command buffers, the frame buffer stores. |
|
deletenoexcept |
|
deletenoexcept |
|
virtualnoexcept |
|
overridevirtualnoexcept |
Returns the index of the buffer within the RenderPass.
Implements LiteFX::Rendering::IFrameBuffer.
|
overridevirtual |
Returns a command buffer that records draw commands for the frame buffer.
Implements LiteFX::Rendering::FrameBuffer< VulkanCommandBuffer >.
|
overridevirtualnoexcept |
|
overridevirtualnoexcept |
Returns the current height of the frame buffer.
Implements LiteFX::Rendering::IFrameBuffer.
|
overridevirtualnoexcept |
Returns the current width of the frame buffer.
Implements LiteFX::Rendering::IFrameBuffer.
|
overridevirtual |
Returns the image that stores the output attachment for the render target mapped the location passed with location .
Implements LiteFX::Rendering::FrameBuffer< VulkanCommandBuffer >.
|
overridevirtualnoexcept |
|
virtualnoexcept |
Returns a reference of the last fence value for the frame buffer.
The frame buffer must only be re-used, if this fence is reached in the graphics queue.
|
overridevirtual |
Causes the frame buffer to be invalidated and recreated with a new size.
Implements LiteFX::Rendering::IFrameBuffer.
|
virtualnoexcept |
Returns a reference of the semaphore, that can be used to signal, that the frame buffer is finished.
|
overridevirtualnoexcept |
Returns the current size of the frame buffer.
Implements LiteFX::Rendering::IFrameBuffer.