The interface for a render pass.
More...
#include <rendering_api.hpp>
Inherits LiteFX::Rendering::IStateResource.
Inherited by LiteFX::Rendering::RenderPass< DirectX12RenderPipeline, DirectX12FrameBuffer, DirectX12InputAttachmentMapping >, LiteFX::Rendering::RenderPass< VulkanRenderPipeline, VulkanFrameBuffer, VulkanInputAttachmentMapping >, and LiteFX::Rendering::RenderPass< TRenderPipeline, TFrameBuffer, TInputAttachmentMapping >.
The interface for a render pass.
◆ ~IRenderPass()
virtual LiteFX::Rendering::IRenderPass::~IRenderPass |
( |
| ) |
|
|
virtualdefaultnoexcept |
◆ activeFrameBuffer()
virtual const IFrameBuffer & LiteFX::Rendering::IRenderPass::activeFrameBuffer |
( |
| ) |
const |
|
pure virtual |
Returns the current frame buffer from of the render pass.
The frame buffer can only be obtained, if the render pass has been started by calling begin. If the render pass has ended or not yet started, the method will instead raise an exception.
- Parameters
-
buffer | The index of the frame buffer. |
- Returns
- A back buffer used by the render pass.
Implemented in LiteFX::Rendering::RenderPass< TRenderPipeline, TFrameBuffer, TInputAttachmentMapping >, LiteFX::Rendering::Backends::DirectX12RenderPass, LiteFX::Rendering::Backends::VulkanRenderPass, LiteFX::Rendering::RenderPass< DirectX12RenderPipeline, DirectX12FrameBuffer, DirectX12InputAttachmentMapping >, and LiteFX::Rendering::RenderPass< VulkanRenderPipeline, VulkanFrameBuffer, VulkanInputAttachmentMapping >.
◆ begin()
virtual void LiteFX::Rendering::IRenderPass::begin |
( |
const UInt32 & |
buffer | ) |
|
|
pure virtual |
◆ changeMultiSamplingLevel()
virtual void LiteFX::Rendering::IRenderPass::changeMultiSamplingLevel |
( |
const MultiSamplingLevel & |
samples | ) |
|
|
pure virtual |
Changes the multi sampling level of the render pass.
The method causes the frame buffers to be re-created. It checks, if the samples are supported by the device for each render target format. If not, an exception will be thrown. To prevent this, call <see cref=IGraphicsDevice::maximumMultiSamplingLevel" /> for each render target format on
your own, in order to request the maximum number of samples supported.
</remarks>
<param name="samples">The number of samples per edge pixel.</param>
<exception cref="InvalidArgumentException">Thrown, if one or more of the render targets have a format, that does not support the provided multi-sampling level.
Implemented in LiteFX::Rendering::Backends::DirectX12RenderPass, and LiteFX::Rendering::Backends::VulkanRenderPass.
◆ end()
virtual void LiteFX::Rendering::IRenderPass::end |
( |
| ) |
const |
|
pure virtual |
◆ frameBuffers()
Returns a list of all frame buffers.
- Returns
- A list of all frame buffers.
◆ hasPresentTarget()
virtual bool LiteFX::Rendering::IRenderPass::hasPresentTarget |
( |
| ) |
const |
|
pure virtualnoexcept |
◆ multiSamplingLevel()
virtual const MultiSamplingLevel & LiteFX::Rendering::IRenderPass::multiSamplingLevel |
( |
| ) |
const |
|
pure virtualnoexcept |
◆ pipelines()
Returns an array of all render pipelines, owned by the render pass.
- Returns
- An array of all render pipelines, owned by the render pass.
- See also
- IRenderPipeline
◆ renderTarget()
virtual const RenderTarget & LiteFX::Rendering::IRenderPass::renderTarget |
( |
const UInt32 & |
location | ) |
const |
|
pure virtual |
◆ renderTargets()
virtual Span< const RenderTarget > LiteFX::Rendering::IRenderPass::renderTargets |
( |
| ) |
const |
|
pure virtualnoexcept |
◆ resizeFrameBuffers()
virtual void LiteFX::Rendering::IRenderPass::resizeFrameBuffers |
( |
const Size2d & |
renderArea | ) |
|
|
pure virtual |
◆ updateAttachments()
void LiteFX::Rendering::IRenderPass::updateAttachments |
( |
const IDescriptorSet & |
descriptorSet | ) |
const |
|
inline |
Resolves the input attachments mapped to the render pass and updates them on the descriptor set provided with descriptorSet.
- Parameters
-
descriptorSet | The descriptor set to update the input attachments on. |