void Render(float curTime) { // render device->Clear(true, true); static float lastTime = -2.0; switch(fractalType) { case JULIA: RenderJulia(animationTime += (curTime - lastTime) * animationSpeed * toggleAnimation); break; case TAILOR: RenderTailor(animationTime += (curTime - lastTime) * animationSpeed * toggleAnimation); break; default: assert(!"Fractal is not supported"); break; } RenderCommon(curTime); lastTime = curTime; // here we can take screenshot if ( takeScreenShot ) { if ( outputFile.empty() ) { // get time static int screenNum = 0; ostringstream numSS; numSS << screenNum++; outputFile = string("screen_") + numSS.str() #ifdef SIMPLE_GL_USE_SDL_IMAGE + ".bmp"; #else // SIMPLE_GL_USE_DEVIL + ".jpg"; #endif // SIMPLE_GL_USE_SDL_IMAGE } // screenshot ref_ptr<Image> image( device->CreateImage() ); //device->TakeScreenshot( image.get() ); image->SaveToFile( outputFile.c_str() ); outputFile.clear(); takeScreenShot = false; } #ifndef __ANDROID__ device->SwapBuffers(); #endif }