2020-02-25 00:44:40 +01:00
|
|
|
#pragma once
|
|
|
|
|
#include "MinimalEngine.h"
|
|
|
|
|
#include "GraphicsResources.h"
|
2020-03-02 19:07:49 +01:00
|
|
|
#include "Containers/Array.h"
|
2020-02-25 00:44:40 +01:00
|
|
|
|
2020-04-12 15:47:19 +02:00
|
|
|
namespace Seele
|
|
|
|
|
{
|
|
|
|
|
namespace Gfx
|
|
|
|
|
{
|
|
|
|
|
class Graphics
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
Graphics();
|
|
|
|
|
virtual ~Graphics();
|
|
|
|
|
virtual void init(GraphicsInitializer initializer) = 0;
|
|
|
|
|
virtual PWindow createWindow(const WindowCreateInfo &createInfo) = 0;
|
|
|
|
|
virtual PViewport createViewport(PWindow owner, const ViewportCreateInfo &createInfo) = 0;
|
|
|
|
|
|
|
|
|
|
virtual PRenderPass createRenderPass(PRenderTargetLayout layout) = 0;
|
|
|
|
|
virtual void beginRenderPass(PRenderPass renderPass) = 0;
|
|
|
|
|
virtual void endRenderPass() = 0;
|
|
|
|
|
|
|
|
|
|
virtual PTexture2D createTexture2D(const TextureCreateInfo &createInfo) = 0;
|
|
|
|
|
virtual PUniformBuffer createUniformBuffer(const BulkResourceData &bulkData) = 0;
|
|
|
|
|
virtual PStructuredBuffer createStructuredBuffer(const BulkResourceData &bulkData) = 0;
|
|
|
|
|
virtual PVertexBuffer createVertexBuffer(const BulkResourceData &bulkData) = 0;
|
|
|
|
|
virtual PIndexBuffer createIndexBuffer(const BulkResourceData &bulkData) = 0;
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
friend class Window;
|
|
|
|
|
};
|
|
|
|
|
DEFINE_REF(Graphics);
|
|
|
|
|
} // namespace Gfx
|
|
|
|
|
} // namespace Seele
|