|
LiteFX 0.4.1.2025
Computer Graphics Engine
|
Represents a render pass. More...
#include <rendering.hpp>
Inherits LiteFX::Rendering::StateResource, and LiteFX::Rendering::IRenderPass.
Public Types | |
| using | command_queue_type = TCommandQueue |
| using | command_buffer_type = TCommandQueue::command_buffer_type |
| using | frame_buffer_type = TFrameBuffer |
Public Member Functions | |
| ~RenderPass () noexcept override=default | |
| virtual SharedPtr< const frame_buffer_type > | activeFrameBuffer () const noexcept=0 |
| virtual Enumerable< SharedPtr< const command_buffer_type > > | commandBuffers () const =0 |
| virtual const command_queue_type & | commandQueue () const noexcept=0 |
| virtual SharedPtr< const command_buffer_type > | commandBuffer (UInt32 index) const =0 |
| virtual void | begin (const frame_buffer_type &frameBuffer) const =0 |
Public Member Functions inherited from LiteFX::Rendering::StateResource | |
| ~StateResource () noexcept override | |
| Releases the state resource instance. | |
| const String & | name () const noexcept override |
Returns the name of the resource.
| |
Public Member Functions inherited from LiteFX::Rendering::IStateResource | |
| virtual | ~IStateResource () noexcept=default |
| Releases the state resource instance. | |
Public Member Functions inherited from LiteFX::Rendering::IRenderPass | |
| ~IRenderPass () noexcept override=default | |
| SharedPtr< const IFrameBuffer > | activeFrameBuffer () const noexcept |
| Returns the current frame buffer from of the render pass. | |
| const ICommandQueue & | commandQueue () const noexcept |
Returns the command queue, the render pass is executing on or nullptr, if the queue has already been released. | |
| Enumerable< SharedPtr< const ICommandBuffer > > | commandBuffers () const |
| Returns all command buffers, that can be currently used for recording multi-threaded commands in the render pass. | |
| SharedPtr< const ICommandBuffer > | commandBuffer (UInt32 index) const |
| Returns a command buffer that can be currently used for recording multi-threaded commands in the render pass. | |
| virtual UInt32 | secondaryCommandBuffers () const noexcept=0 |
| Returns the number of secondary command buffers the render pass stores for multi-threaded command recording. | |
| virtual const Array< RenderTarget > & | renderTargets () const noexcept=0 |
| Returns the list of render targets, the render pass renders into. | |
| virtual const RenderTarget & | renderTarget (UInt32 location) const =0 |
| Returns the render target mapped to the location provided by location . | |
| virtual bool | hasPresentTarget () const noexcept=0 |
Returns true, if one of the render targets is used for presentation on a swap chain. | |
| virtual const Array< RenderPassDependency > & | inputAttachments () const noexcept=0 |
| Returns the input attachment the render pass is consuming. | |
| virtual const RenderPassDependency & | inputAttachment (UInt32 location) const =0 |
| Returns the input attachment at a location . | |
| virtual const Optional< DescriptorBindingPoint > & | inputAttachmentSamplerBinding () const noexcept=0 |
| Returns the binding point for input attachment samplers. | |
| void | begin (const IFrameBuffer &frameBuffer) const |
| Begins the render pass. | |
| virtual UInt64 | end () const =0 |
| Ends the render pass. | |
Public Member Functions inherited from LiteFX::SharedObject | |
| virtual | ~SharedObject () noexcept=default |
| Destroys the shared object. | |
| template<typename TSelf > | |
| auto | shared_from_this (this TSelf &&self) noexcept |
| Returns a shared pointer to the current object instance. | |
| template<typename TSelf > | |
| auto | weak_from_this (this TSelf &&self) noexcept -> WeakPtr< std::remove_reference_t< TSelf > > |
| Returns a weak pointer to the current object instance. | |
Protected Member Functions | |
| RenderPass () noexcept=default | |
| RenderPass (RenderPass &&) noexcept=default | |
| RenderPass (const RenderPass &)=default | |
| RenderPass & | operator= (RenderPass &&) noexcept=default |
| RenderPass & | operator= (const RenderPass &)=default |
Protected Member Functions inherited from LiteFX::Rendering::StateResource | |
| StateResource () | |
| Initializes a new state resource instance with a default name. | |
| StateResource (StringView name) | |
| Initializes a new state resource instance. | |
| StateResource (StateResource &&) noexcept | |
| StateResource & | operator= (StateResource &&) noexcept |
| StateResource (const StateResource &)=delete | |
| StateResource & | operator= (const StateResource &)=delete |
| String & | name () noexcept |
Protected Member Functions inherited from LiteFX::Rendering::IStateResource | |
| IStateResource () noexcept=default | |
| IStateResource (const IStateResource &)=delete | |
| IStateResource (IStateResource &&) noexcept=default | |
| IStateResource & | operator= (const IStateResource &)=delete |
| IStateResource & | operator= (IStateResource &&) noexcept=default |
Protected Member Functions inherited from LiteFX::Rendering::IRenderPass | |
| IRenderPass () noexcept=default | |
| IRenderPass (IRenderPass &&) noexcept=default | |
| IRenderPass (const IRenderPass &)=delete | |
| IRenderPass & | operator= (IRenderPass &&) noexcept=default |
| IRenderPass & | operator= (const IRenderPass &)=delete |
Protected Member Functions inherited from LiteFX::SharedObject | |
| SharedObject () noexcept=default | |
| Initializes a new shared object. | |
| SharedObject (SharedObject &&) noexcept=default | |
| SharedObject (const SharedObject &)=default | |
| SharedObject & | operator= (SharedObject &&) noexcept=default |
| SharedObject & | operator= (const SharedObject &)=default |
Additional Inherited Members | |
Public Attributes inherited from LiteFX::Rendering::IRenderPass | |
| Event< BeginEventArgs > | beginning |
| Invoked, when the render pass is beginning. | |
| Event< EventArgs > | ending |
| Invoked, when the render pass is ending. | |
Static Protected Member Functions inherited from LiteFX::SharedObject | |
| template<typename T , typename... TArgs> | |
| static auto | create (TArgs &&... args) -> SharedPtr< T > |
| Generic factory method used to create instances of the shared object. | |
Represents a render pass.
A render pass is a conceptual layer, that may not have any logical representation within the actual implementation. It is a high-level view on a specific workload on the GPU, that processes data using different RenderPipelines and stores the outputs in the IRenderTargets of a FrameBuffer.
| TRenderPipeline | The type of the render pipeline. Must implement RenderPipeline. |
| TCommandQueue | The type of the command queue. Must implement CommandQueue. |
| TFrameBuffer | The type of the frame buffer. Must implement FrameBuffer. |
| using LiteFX::Rendering::RenderPass< TCommandQueue, TFrameBuffer >::command_buffer_type = TCommandQueue::command_buffer_type |
| using LiteFX::Rendering::RenderPass< TCommandQueue, TFrameBuffer >::command_queue_type = TCommandQueue |
| using LiteFX::Rendering::RenderPass< TCommandQueue, TFrameBuffer >::frame_buffer_type = TFrameBuffer |
|
protecteddefaultnoexcept |
|
protecteddefaultnoexcept |
|
protecteddefault |
|
overridedefaultnoexcept |
|
pure virtualnoexcept |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtualnoexcept |
|
protecteddefault |
|
protecteddefaultnoexcept |