|
virtual const frame_buffer_type & | activeFrameBuffer () const =0 |
| Gets the active frame buffer from the render pass.
|
|
virtual std::vector< const frame_buffer_type * > | frameBuffers () const noexcept=0 |
| Gets all frame buffers owned by the render pass.
|
|
virtual std::vector< const render_pipeline_type * > | pipelines () const noexcept=0 |
| Gets all render pipelines owned by the render pass.
|
|
virtual std::span< const input_attachment_mapping_type > | inputAttachments () const noexcept=0 |
| Gets the input attachments the render pass is consuming.
|
|
virtual void | updateAttachments (const descriptor_set_type &descriptor_set) const =0 |
| Resolves the input attachments mapped to the render pass and updates them on the descriptor set provided with descriptor_set .
|
|
| StateResource (std::string_view name) noexcept |
| Initializes a new StateResource instance.
|
|
| StateResource (const StateResource &other)=delete |
|
| StateResource (StateResource &&other) noexcept |
|
StateResource & | operator= (const StateResource &other)=delete |
|
StateResource & | operator= (StateResource &&other) noexcept |
|
const std::string & | name () const noexcept final |
| Gets the name of the state resource.
|
|
virtual void | begin (unsigned int buffer)=0 |
| Begins the render pass.
|
|
virtual void | end () const =0 |
| Ends the render pass.
|
|
const IFrameBuffer & | activeFrameBuffer () const |
| Gets the active frame buffer from the render pass.
|
|
std::vector< const IFrameBuffer * > | frameBuffers () const noexcept |
| Gets all frame buffers owned by the render pass.
|
|
virtual void | resizeFrameBuffers (const math::Vector2< unsigned int > &new_render_area)=0 |
| Resets the frame buffers owned by the render pass.
|
|
std::vector< const IRenderPipeline * > | pipelines () const noexcept |
| Gets all render pipelines owned by the render pass.
|
|
virtual const RenderTarget & | renderTarget (unsigned int location) const =0 |
| Gets the render target at the specified location .
|
|
virtual std::span< const RenderTarget > | renderTargets () const noexcept=0 |
| Gets all render targets the render pass is rendering to.
|
|
virtual bool | hasPresentRenderTarget () const noexcept=0 |
| Checks if one of the render targets is used for presentation in a ISwapChain.
|
|
virtual MultiSamplingLevel | multiSamplingLevel () const noexcept=0 |
| Gets the number of samples the render targets are sampled with.
|
|
void | updateAttachments (const IDescriptorSet &descriptor_set) const |
| Resolves the input attachments mapped to the render pass and updates them on the descriptor set provided with descriptor_set .
|
|
virtual const FrameBufferType & | frameBuffer (unsigned buffer) const =0 |
| Gets the frame buffer with the index provided in buffer .
|
|
template<typename RenderPipelineType, typename FrameBufferType, typename InputAttachmentMappingType>
class spark::render::RenderPass< RenderPipelineType, FrameBufferType, InputAttachmentMappingType >
Represents a render pass.
- Template Parameters
-
RenderPipelineType | Type of the render pipeline. (inherits from IRenderPipeline) |
FrameBufferType | Type of the frame buffer. (inherits from IFrameBuffer) |
InputAttachmentMappingType | Type of the input attachment mapping. (inherits from IInputAttachmentMapping) |
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 IRenderPipeline and stores the outputs in the IRenderTarget of a IFrameBuffer.