Renderer::Renderer(Tracker &tracker) : m_window(NULL), m_tracker(tracker) { SDL_Init(SDL_INIT_VIDEO); if (SDL_Init(SDL_INIT_VIDEO) < 0) { sdlDie("Unable to initialize SDL"); } m_window = SDL_CreateWindow("OpenGL Test1", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN); if (m_window == NULL) { sdlDie("Unable to initialize SDL"); } checkSDLError(__LINE__); m_glContext = SDL_GL_CreateContext(m_window); checkSDLError(__LINE__); }
void initwindow(SDL_Window ** window, SDL_GLContext * context){ if (SDL_Init(SDL_INIT_EVERYTHING) != 0 ){ std::cerr << SDL_GetError() << std::endl; exit(1); } atexit(SDL_Quit); int flags = IMG_INIT_JPG | IMG_INIT_PNG; if ( (IMG_Init(flags) & flags) != flags ){ std::cerr << "IMG_Init failed : \n" << IMG_GetError() << std::endl; exit(1); } SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16); SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1); SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4); *window = SDL_CreateWindow( WINDOW_NAME, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_OPENGL ); if (*window == nullptr) sdlDie("Unable to create window"); *context = SDL_GL_CreateContext(*window); checkSDLError(); std::cout << "------SDL Test------\n"; SDL_version sdlversion; SDL_GetVersion(&sdlversion); std::cout << "SDL Version " << (int)sdlversion.major << "." << (int)sdlversion.minor << "." << (int)sdlversion.patch << std::endl; std::cout << "OpenGL Version " << glGetString(GL_VERSION) << std::endl; SDL_GL_SetSwapInterval(1); /*renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC); if (renderer == nullptr) sdlDie("Unable to create renderer"); SDL_Texture *texture = LoadImage("hello.bmp"); if (texture == nullptr){ std::cerr << SDL_GetError() << std::endl; return 1; } SDL_RenderClear(renderer); SDL_RenderCopy(renderer, texture, NULL, NULL); SDL_RenderPresent(renderer); SDL_Delay(1000); SDL_DestroyTexture(texture); SDL_DestroyRenderer(renderer);*/ }