/* * Creates SFML window and sets up OpenGL settings. */ bool Game::init(){ app.Create(sf::VideoMode(SCREEN_WIDTH,SCREEN_HEIGHT,SCREEN_BPP),"FPS",sf::Style::Close); if(app.IsOpened() == false){ return false; } app.ShowMouseCursor(false); compileDisplayLists(); Pickup::init(smalldot); Ghost::init(redghost); if(loadResources() == false){ return false; } srand((int)(clock.GetElapsedTime()*1000.f)); // Init projection matrix glViewport(0,0,SCREEN_WIDTH,SCREEN_HEIGHT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(80.f,(GLfloat)SCREEN_WIDTH/(GLfloat)SCREEN_HEIGHT,0.01f,100.f); // Init model view matrix glMatrixMode(GL_MODELVIEW); glLoadIdentity(); // Background color glClearColor(0.f,0.f,0.f,0.f); // Depth buffer glClearDepth(1.0f); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); glEnable(GL_TEXTURE_2D); // Blend function glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); glDisable(GL_BLEND); // Only allow pixels with alpha > 0.9 to be drawn glAlphaFunc(GL_GREATER,0.9f); glEnable(GL_ALPHA_TEST); // Fog stuff GLfloat fogColor[] = {0.f,0.f,0.f,1.f}; glClearColor(0.0f,0.0f,0.0f,1.0f); glFogi(GL_FOG_MODE, GL_EXP2); glFogfv(GL_FOG_COLOR, fogColor); glFogf(GL_FOG_DENSITY, 0.65f); glHint(GL_FOG_HINT, GL_FASTEST); glFogf(GL_FOG_START, 0.5f); glFogf(GL_FOG_END, 6.0f); glEnable(GL_FOG); return true; }
void init(void) { glClearColor(0.0, 0.0, 0.0, 0.0); glMaterialfv(GL_FRONT, GL_SPECULAR, white); glMaterialfv(GL_FRONT, GL_AMBIENT, red); glMaterialfv(GL_FRONT, GL_DIFFUSE, red2); glMaterialf(GL_FRONT, GL_SHININESS, 90.0); glLightfv(GL_LIGHT0, GL_SPECULAR, white); glLightfv(GL_LIGHT0, GL_DIFFUSE, gray); glLightfv(GL_LIGHT0, GL_AMBIENT, gray2); glLightfv(GL_LIGHT0, GL_POSITION, light_position); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glShadeModel(GL_SMOOTH); glEnable(GL_DEPTH_TEST); glCullFace(GL_BACK); glEnable(GL_CULL_FACE); compileDisplayLists(); }