SPARK  0.1.0
A general purpose game engine written in C++.
Loading...
Searching...
No Matches
InputAttachementMapping.h
1#pragma once
2
3#include "spark/render/RenderTarget.h"
4
5namespace spark::render
6{
14 template <typename FrameBufferType>
16 {
17 public:
18 using FrameBuffer = FrameBufferType;
19
20 public:
21 virtual ~InputAttachmentMappingSource() noexcept = default;
22
29 [[nodiscard]] virtual const FrameBufferType& frameBuffer(unsigned buffer) const = 0;
30 };
31
32 template <typename InputAttachmentMappingSourceType>
34 {
35 public:
36 using InputAttachmentMappingSource = InputAttachmentMappingSourceType;
37
38 public:
39 virtual ~InputAttachmentMapping() noexcept = default;
40
45 [[nodiscard]] virtual const InputAttachmentMappingSource* source() const noexcept = 0;
46
51 [[nodiscard]] virtual const RenderTarget& renderTarget() const noexcept = 0;
52
60 [[nodiscard]] virtual unsigned location() const noexcept = 0;
61 };
62}
Represents the source for an input attachment mapping.
Definition InputAttachementMapping.h:16
virtual const FrameBufferType & frameBuffer(unsigned buffer) const =0
Gets the frame buffer with the index provided in buffer.
Definition InputAttachementMapping.h:34
virtual unsigned location() const noexcept=0
Gets the location of the input attachment, the render target will be bound to.
virtual const RenderTarget & renderTarget() const noexcept=0
Gets a reference to the render target mapped to this input attachment.
virtual const InputAttachmentMappingSource * source() const noexcept=0
Gets the source of the input attachment render target.
Implements a IRenderTarget.
Definition RenderTarget.h:201