Exemple #1
0
void DarkGDK ( void )
{
	loadSettings();
	loadResources();

	//ASTEROID LOADED OBJECTS
	Large_Roid loadLarge(1);
	Big_Roid loadBig(1);
	Medium_Roid loadMedium(1);
	Small_Roid loadSmall(1);
	Tiny_Roid loadTiny(1);

	Ship *player = new Jet;

	Asteroid * roids[NUM_ASTEROIDS];
	setAsteroids(roids, NUM_ASTEROIDS);

	dbMakeObjectSphere(MACH_GUN_FIRE, 2);
	dbTextureObject(MACH_GUN_FIRE, MACH_GUN_FIRE);


	while ( LoopGDK ( ) )
	{
		astroReset(roids, NUM_ASTEROIDS);
		astroidPhysics(roids, NUM_ASTEROIDS);
		collision(roids, NUM_ASTEROIDS, player);
		player->moveShip();

		

		pause();
		if(dbSpaceKey())
		{
			dbWait(1000);
		}
		dbSync ( );
	}
	


	memoryLeak();
	return;
}
/**
 * Load a medium from a list of multiples files.
 * @param filenames : a vector that contain the filenames of the files that
 *   describes the medium.
 * @return : the loaded medium.
 */
Medium* MediumParser::loadMedium(const std::vector<std::string>& filenames)
{
  Medium* medium = new Medium();
  medium->isOpaque=false;
  medium->useLambertianModel=false;
  medium->useFresnelModel=false;
  medium->useKubelkaMunkModel=false;

  for(unsigned int i=0; i<filenames.size(); i++)
  {
    Medium* tmp = loadMedium(filenames[i]);

    if(tmp->isOpaque)
      medium->isOpaque=true;
    if(tmp->useLambertianModel)
    {
      medium->r=tmp->r;
      medium->useLambertianModel=true;
    }
    if(tmp->useFresnelModel)
    {
      medium->n=tmp->n;
      medium->k=tmp->k;
      medium->useFresnelModel=true;
    }
    if(tmp->useKubelkaMunkModel)
    {
      medium->K=tmp->K;
      medium->S=tmp->S;
      medium->useKubelkaMunkModel=true;
    }

    delete tmp;
  }
  
  return medium;
}