--- /dev/null
+#ifndef MSP_GL_DEVICE_BACKEND_H_
+#define MSP_GL_DEVICE_BACKEND_H_
+
+#include <msp/core/noncopyable.h>
+#include <msp/graphics/glcontext.h>
+
+namespace Msp {
+namespace GL {
+
+class OpenGLDevice: public NonCopyable
+{
+protected:
+ Graphics::GLContext context;
+
+ OpenGLDevice(Graphics::Window &, const Graphics::GLOptions &);
+
+ Graphics::GLContext &get_context() { return context; }
+};
+
+using DeviceBackend = OpenGLDevice;
+using DeviceOptions = Graphics::GLOptions;
+
+} // namespace GL
+} // namespace Msp
+
+#endif