/** * Initialize an EGL context for the current display. */ int Engine::InitDisplay() { if( !initialized_resources_ ) { gl_context_->Init( app_->window ); LoadResources(); initialized_resources_ = true; } else { // initialize OpenGL ES and EGL if( EGL_SUCCESS != gl_context_->Resume( app_->window ) ) { UnloadResources(); LoadResources(); } } ShowUI(); // Initialize GL state. glEnable( GL_CULL_FACE ); glEnable( GL_DEPTH_TEST ); glDepthFunc( GL_LEQUAL ); //Note that screen size might have been changed glViewport( 0, 0, gl_context_->GetScreenWidth(), gl_context_->GetScreenHeight() ); renderer_.UpdateViewport(); tap_camera_.SetFlip( 1.f, -1.f, -1.f ); tap_camera_.SetPinchTransformFactor( 10.f, 10.f, 8.f ); return 0; }
/** * Initialize an EGL context for the current display. */ int Engine::InitDisplay(android_app *app) { if (!initialized_resources_) { gl_context_->Init(app_->window); LoadResources(); initialized_resources_ = true; } else if(app->window != gl_context_->GetANativeWindow()) { // Re-initialize ANativeWindow. // On some devices, ANativeWindow is re-created when the app is resumed assert(gl_context_->GetANativeWindow()); UnloadResources(); gl_context_->Invalidate(); app_ = app; gl_context_->Init(app->window); LoadResources(); initialized_resources_ = true; } else { // initialize OpenGL ES and EGL if (EGL_SUCCESS == gl_context_->Resume(app_->window)) { UnloadResources(); LoadResources(); } else { assert(0); } } ShowUI(); // Initialize GL state. glEnable(GL_CULL_FACE); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); // Note that screen size might have been changed glViewport(0, 0, gl_context_->GetScreenWidth(), gl_context_->GetScreenHeight()); renderer_.UpdateViewport(); tap_camera_.SetFlip(1.f, -1.f, -1.f); tap_camera_.SetPinchTransformFactor(10.f, 10.f, 8.f); return 0; }