![]() |
LiteFX 0.3.1.2022
Computer Graphics Engine
|
Implements a DirectX 12 frame buffer. More...
#include <dx12.hpp>
Inherits LiteFX::Rendering::FrameBuffer< DirectX12CommandBuffer >.
Classes | |
class | DirectX12FrameBufferImpl |
Public Member Functions | |
DirectX12FrameBuffer (const DirectX12RenderPass &renderPass, const UInt32 &bufferIndex, const Size2d &renderArea, const UInt32 &commandBuffers=1) | |
Initializes a DirectX 12 frame buffer. More... | |
DirectX12FrameBuffer (const DirectX12FrameBuffer &) noexcept=delete | |
DirectX12FrameBuffer (DirectX12FrameBuffer &&) noexcept=delete | |
virtual | ~DirectX12FrameBuffer () noexcept |
virtual ID3D12DescriptorHeap * | renderTargetHeap () const noexcept |
Returns a pointer to the descriptor heap that allocates the render targets for this frame buffer. More... | |
virtual ID3D12DescriptorHeap * | depthStencilTargetHeap () const noexcept |
Returns a pointer to the descriptor heap that allocates the depth/stencil views for this frame buffer. More... | |
virtual const UInt32 & | renderTargetDescriptorSize () const noexcept |
Returns the size of a descriptor for a render target within the frame buffer. More... | |
virtual const UInt32 & | depthStencilTargetDescriptorSize () const noexcept |
Returns the size of a descriptor for a depth/stencil view within the frame buffer. 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 Array< const DirectX12CommandBuffer * > | commandBuffers () const noexcept override |
virtual const DirectX12CommandBuffer & | commandBuffer (const UInt32 &index) const override |
Returns a command buffer that records draw commands for the frame buffer. More... | |
virtual Array< const IDirectX12Image * > | images () const noexcept override |
virtual const IDirectX12Image & | 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... | |
Additional Inherited Members | |
![]() | |
using | command_buffer_type = DirectX12CommandBuffer |
using | image_type = command_buffer_type::image_type |
Implements a DirectX 12 frame buffer.
DirectX12FrameBuffer::DirectX12FrameBuffer | ( | const DirectX12RenderPass & | renderPass, |
const UInt32 & | bufferIndex, | ||
const Size2d & | renderArea, | ||
const UInt32 & | commandBuffers = 1 |
||
) |
Initializes a DirectX 12 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 |
|
virtualdefaultnoexcept |
|
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< DirectX12CommandBuffer >.
|
overridevirtualnoexcept |
|
virtualnoexcept |
Returns the size of a descriptor for a depth/stencil view within the frame buffer.
|
virtualnoexcept |
Returns a pointer to the descriptor heap that allocates the depth/stencil views for this frame buffer.
Note that it is typically not supported to have more than one depth/stencil output view bound to a RenderPass.
|
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< DirectX12CommandBuffer >.
|
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.
|
virtualnoexcept |
Returns the size of a descriptor for a render target within the frame buffer.
|
virtualnoexcept |
Returns a pointer to the descriptor heap that allocates the render targets for this frame buffer.
|
overridevirtual |
Causes the frame buffer to be invalidated and recreated with a new size.
Implements LiteFX::Rendering::IFrameBuffer.
|
overridevirtualnoexcept |
Returns the current size of the frame buffer.
Implements LiteFX::Rendering::IFrameBuffer.