Пример #1
0
void Game::init() {
	//Set up log file
	logFile.open("log.txt", std::fstream::out);
	//Make std::cerr redirect to the log file
	std::cerr.rdbuf(logFile.rdbuf());

	logFile << "Initializing...\n";

	SDL_Init(SDL_INIT_EVERYTHING);

	if((window = SDL_CreateWindow(baseWindowTitle.c_str(), SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, screenWidth, screenHeight, SDL_WINDOW_OPENGL)) == 0) {
		logFile << "Error creating window: " << SDL_GetError() << std::endl;
		stop();
		return;
	}
	logFile << "Created window" << std::endl;
	if((renderer = SDL_CreateRenderer(window, -1, 0)) == NULL) {
		logFile << "Error creating renderer: " << SDL_GetError() << std::endl;
		stop();
		return;
	}
	logFile << "Created renderer" << std::endl;
	if((glcontext = SDL_GL_CreateContext(window)) == NULL) {
		logFile << "Error creating OpenGL context: " << SDL_GetError() << std::endl;
		stop();
		return;
	}
	glewInit();
	logFile << "Created OpenGL context" << std::endl;

	//Initialize OpenGL
	SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);

	glEnable(GL_DEPTH_TEST);
	glDepthFunc(GL_LEQUAL);

	resizeWindow(screenWidth, screenHeight);

	lastMouseState = 0;

	//Initialize things here

	curScene = new Scene();

	//

	logFile << "Finished initializing" << std::endl;
}