1
0
Fork 0
spectre/include/Spectre/Graphics.h

61 lines
852 B
C++

#ifndef GRAPHICS_H
#define GRAPHICS_H
#include <Spectre/GfxDriver/GfxDriver.h>
#include <Spectre/Display/Display.h>
namespace sp {
class PlatformApplication;
class Graphics
{
public :
enum MatrixMode {
PROJECTION,
MODELVIEW,
};
enum VertexType {
TRIANGLES,
};
public :
Graphics(PlatformApplication *platform);
~Graphics();
bool init();
void shutdown();
std::string getVersion() const;
void setDisplayMode(Display::Mode mode);
void setSize(int width, int height);
void setViewport(int x, int y, int width, int height);
void setClearColor(float r, float g, float b);
void clearBuffer();
void swapBuffers();
GfxDriver* getDriver();
protected :
int m_width;
int m_height;
Display *m_display;
// Graphics Driver. OpenGL/Vulcan/DirectX etc.
GfxDriver *m_gfxdrv;
};
} // namespace sp
#endif /* GRAPHICS_H */