22 SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2);
23 SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1);
25 m_window.reset(SDL_CreateWindow(caption.c_str(), SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, width, height, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN));
27 throw EXCEPTION(
"Window initialization failed:", SDL_GetError());
32 throw EXCEPTION(
"OpenGL context creation failed:", SDL_GetError());
49 if(glewInit() != GLEW_OK) {
56 glCheck(glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA));
58 glCheck(glEnable(GL_TEXTURE_2D));
62 glCheck(glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT));
70 if(SDL_GL_SetSwapInterval(enabled) < 0) {
71 DEBUG(
"Warning: Can't enable VSync");
SDL_GLContextPtr m_context
void setVerticalSyncEnabled(bool enabled)
void setView(const View &view)
#define EXCEPTION(args...)
void open(const std::string &caption, u16 width, u16 height)
void reset(const FloatRect &rectangle)