#ifndef RENDERTARGET_H_
#define RENDERTARGET_H_
+#include <msp/core/noncopyable.h>
#include "framebuffer.h"
namespace Msp {
class Texture;
class Texture2D;
-class RenderTarget
+/**
+Wraps a Framebuffer and its attachments for easier management.
+
+All attachments will be created as 2D or 2D multisample textures, depending on
+the sample count of the format. For multisampled formats, resolve attachments
+are also created.
+*/
+class RenderTarget: public NonCopyable
{
private:
unsigned width;
public:
RenderTarget(unsigned, unsigned, const FrameFormat & = (COLOR_ATTACHMENT, DEPTH_ATTACHMENT));
-private:
- RenderTarget(const RenderTarget &);
- RenderTarget &operator=(const RenderTarget &);
-public:
+ RenderTarget(RenderTarget &&) = default;
~RenderTarget();
unsigned get_width() const { return width; }