Renderer::Renderer( Level* l, Player* p ): level(l), player(p), scene_scale(0.25f) { int v[4]; glGetIntegerv( GL_VIEWPORT, v ); screen_x= v[2]; screen_y= v[3]; microbes_vbo.VertexData( NULL, sizeof(MicrobeVertex) * 1024, sizeof(MicrobeVertex) ); microbes_vbo.IndexData( NULL, 1024 * sizeof(short) ); microbes_shader.SetAttribLocation( "v", 0 ); microbes_shader.SetAttribLocation( "c", 1 ); microbes_shader.Create( microbe_shader_v, microbe_shader_f ); microbes_shader.FindUniform( "m" );//transform matrix, uniform No 0 glGenTextures( 1, &background_texture ); glBindTexture( GL_TEXTURE_2D, background_texture ); unsigned char* bg_data= GenBackground( screen_x, screen_y ); glTexParameteri( GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE ); glTexImage2D( GL_TEXTURE_2D, 0, 1, screen_x, screen_y, 0, GL_RED, GL_UNSIGNED_BYTE, bg_data ); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR ); // GenRoundBody( &part_meshes[ PART_ROUND_BODY ] ); // GenDefaultShell( &part_meshes[ PART_DEFAULT_SHELL ] ); //GenDefaultNucleus( &part_meshes[ PART_DEFAULT_NUCLEUS ] ); //GenFlagellum( &part_meshes[ PART_FLAGELLUM ] ); for( int i= 0; i< PART_COUNT; i++ ) generation_func_table[i]( &part_meshes[i] ); }
bool ModuleSceneIntro::Start() { LOG("Loading Intro assets"); bool ret = true; draw = true; magnet = false; ballsToAdd = 1; launcherReady = true; ballLaunched = true; started = false; lifes = 3; textBallSaved = TEXT_CHANGE_DELAY+1; textExtraBall = TEXT_CHANGE_DELAY+1; LoadAssets(); GenBackground(); return ret; }