#pragma once
#include "../vulkan.h"
#include "../wrapper/framebuffer.h"
namespace vulkanapi {
	class Image;
	class Device;
	class RenderTarget {
	public:
		uint32_t width;
		uint32_t height;
		uint32_t size;
		vector<FrameBuffer> frames;
		vector<Image*> surfaces;
	public:
		RenderTarget(uint32_t width, uint32_t height, uint32_t size) 
			:width(width), height(height), size(size) {};
		RenderTarget(uint32_t width, uint32_t height, vector<Image*>& surfaces) 
			:width(width), height(height), size(surfaces.size()), surfaces(surfaces){};
		void InitSurface(Device& device, string name);
	public:
		static RenderTarget* MakeOutputTarget();
		static RenderTarget* MakeDepthTarget();
		static RenderTarget* MakeColorTarget();
	};
}