bool initialize() { mapctrl::screenpair mapsize(config::screenwidth, config::screenheight); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 1); this->screen = SDL_SetVideoMode(mapsize.x, mapsize.y, 0, SDL_OPENGL); #if WIN32 _dgles_load_library(NULL, proc_loader); #endif glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrthof(0.0f, static_cast<float>(mapsize.x), static_cast<float>(mapsize.y), 0.0f, -1.0f, 1.0f); glDisable(GL_DEPTH_TEST); glDisable(GL_LIGHTING); glEnable(GL_TEXTURE_2D); // glEnable(GL_BLEND); // glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); this->map = mapctrl::mapcontrol::create(config::reposroot, config::zoomlevel, mapsize, config::numtileslimit); return this->prepare(); }
int main(int argc, char *argv[]) { (void) argc; (void) argv; if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE) < 0) { fprintf(stderr, "SDL error: %s\n", SDL_GetError()); return 1; } atexit(SDL_Quit); { int err; #if defined(WIN32) err = SDL_GL_LoadLibrary("opengl32.dll"); #elif defined(__linux__) || defined(__FreeBSD__) err = SDL_GL_LoadLibrary("libGL.so"); #else #error Your platform is not supported err = 1; #endif if (err != 0) { fprintf(stderr, "Can't load OpenGL library: %s\n", SDL_GetError()); return 1; } } SDL_GL_SetAttribute(SDL_GL_ACCUM_RED_SIZE, 0); SDL_GL_SetAttribute(SDL_GL_ACCUM_GREEN_SIZE, 0); SDL_GL_SetAttribute(SDL_GL_ACCUM_BLUE_SIZE, 0); SDL_GL_SetAttribute(SDL_GL_ACCUM_ALPHA_SIZE, 0); if (SDL_SetVideoMode(600, 600, 0, SDL_OPENGL) == NULL) { fprintf(stderr, "SDL error: %s\n", SDL_GetError()); return 1; } _dgles_load_library(NULL, proc_loader); SDL_WM_SetCaption("Desktop OpenGL ES", NULL); return test(); }