diff --git a/include/Spectre/GfxDriver/GfxDriver.h b/include/Spectre/GfxDriver/GfxDriver.h new file mode 100644 index 0000000..3ddb730 --- /dev/null +++ b/include/Spectre/GfxDriver/GfxDriver.h @@ -0,0 +1,37 @@ + +#ifndef SPECTRE_GFXDRIVER_GFXDRIVER_H +#define SPECTRE_GFXDRIVER_GFXDRIVER_H + +#include + +namespace sp { + +class GfxDriver +{ +public: + enum BufferFlags { + CLEAR_BUFFER_BIT, + }; + +public: + virtual std::string getVendor() const = 0; + + virtual void setViewport(int x, int y, int width, int height) = 0; + + virtual void setClearColor(float r, float g, float b, float a) = 0; + + virtual void clearBuffer(BufferFlags flags) = 0; + + virtual void clearColorBuffer() = 0; + + // Resources. + + // CreateIndexBuffer() + // CreateVertexBuffer() + + // Draw calls +}; + +} // namespace sp + +#endif /* SPECTRE_GFXDRIVER_GFXDRIVER_H */