Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 5465 in orxonox.OLD for trunk/src/world_entities


Ignore:
Timestamp:
Nov 2, 2005, 9:01:12 AM (19 years ago)
Author:
bensch
Message:

orxonox/trunk: vegetation rendering in the terrain (trees are now rendered correctly)

Location:
trunk/src/world_entities
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/world_entities/terrain.cc

    r5415 r5465  
    2121#include "factory.h"
    2222#include "spatial_separation.h"
     23
     24#include "resource_manager.h"
    2325
    2426using namespace std;
     
    7880  if( this->ssp)
    7981    delete ssp;
     82  if (this->vegetation)
     83  {
     84    ResourceManager::getInstance()->unload(this->vegetation);
     85  }
    8086}
    8187
     
    8793  this->objectList = 0;
    8894  this->ssp = NULL;
     95  this->vegetation = NULL;
    8996}
    9097
     
    94101  static_cast<WorldEntity*>(this)->loadParams(root);
    95102
     103  LoadParam<Terrain>(root, "vegetation", this, &Terrain::loadVegetation)
     104      .describe("the fileName of the vegetation, that should be loaded onto this terrain. (must be relative to the data-dir)") ;
     105
    96106  //LoadParam<Terrain>(root, "DebugTerrain",  );
    97107}
     108
     109void Terrain::loadVegetation(const char* vegetationFile)
     110{
     111  if (this->vegetation)
     112    ResourceManager::getInstance()->unload(this->vegetation, RP_LEVEL);
     113  if (vegetationFile != NULL)
     114  {
     115    PRINTF(4)("fetching %s\n", vegetationFile);
     116      this->vegetation = (Model*)ResourceManager::getInstance()->load(vegetationFile, OBJ, RP_CAMPAIGN);
     117  }
     118  else
     119    this->vegetation = NULL;
     120}
     121
     122
    98123
    99124void Terrain::draw ()
     
    114139  else if (this->model)
    115140    this->model->draw();
     141  if (this->vegetation)
     142    this->vegetation->draw();
    116143  glPopMatrix();
    117144
  • trunk/src/world_entities/terrain.h

    r5405 r5465  
    3333  void loadParams(const TiXmlElement* root);
    3434
     35  void loadVegetation(const char* vegetationFile);
     36
    3537  void buildDebugTerrain(DebugTerrain debugTerrain);
    3638  virtual void draw();
     
    4042
    4143 private:
    42   int objectList;
     44   Model*              vegetation;
     45   int                 objectList;
    4346};
    4447
  • trunk/src/world_entities/weapons/laser.cc

    r5458 r5465  
    5151  this->emitter->setParent(this);
    5252  this->emitter->setSpread(M_PI, M_PI);
    53   this->emitter->setEmissionRate(50.0);
     53  this->emitter->setEmissionRate(300.0);
    5454  this->emitter->setEmissionVelocity(50.0);
    5555}
     
    8383    Laser::explosionParticles->setName("LaserExplosionParticles");
    8484    Laser::explosionParticles->setLifeSpan(.5, .3);
    85     Laser::explosionParticles->setRadius(0.0, 5);
    86     Laser::explosionParticles->setRadius(.5, 10.0);
     85    Laser::explosionParticles->setRadius(0.0, 3.0);
     86    Laser::explosionParticles->setRadius(.5, 6.0);
    8787    Laser::explosionParticles->setRadius(1.0, 3.0);
    8888    Laser::explosionParticles->setColor(0.0, 1,1,0,.9);
  • trunk/src/world_entities/weapons/rocket.cc

    r5456 r5465  
    9797  if (unlikely(Rocket::explosionParticles == NULL))
    9898  {
    99     Rocket::explosionParticles = new ParticleSystem(1000, PARTICLE_SPRITE);
     99    Rocket::explosionParticles = new ParticleSystem(200, PARTICLE_SPRITE);
    100100    Rocket::explosionParticles->setName("RocketExplosionParticles");
    101     Rocket::explosionParticles->setLifeSpan(.5, .3);
     101    Rocket::explosionParticles->setLifeSpan(.6, .3);
    102102    Rocket::explosionParticles->setRadius(0.0, 10);
    103103    Rocket::explosionParticles->setRadius(.5, 20.0);
    104     Rocket::explosionParticles->setRadius(1.0, 3.0);
    105     Rocket::explosionParticles->setColor(0.0, 0,1,0,.9);
    106     Rocket::explosionParticles->setColor(0.5, .8,.8,0,.5);
     104    Rocket::explosionParticles->setRadius(1.0, 20.0);
     105    Rocket::explosionParticles->setColor(0.0, 0,1,0,1);
     106    Rocket::explosionParticles->setColor(0.5, .8,.8,0,.8);
     107    Rocket::explosionParticles->setColor(0.8, .8,.8,.3,.8);
    107108    Rocket::explosionParticles->setColor(1.0, 1,1,1,.0);
    108109  }
     
    164165  ParticleEngine::getInstance()->addConnection(this->emitter, Rocket::explosionParticles);
    165166
    166   this->emitter->setEmissionRate(30.0);
     167  this->emitter->setEmissionRate(1000.0);
    167168  this->emitter->setEmissionVelocity(50.0);
    168169//  this->deactivate();
  • trunk/src/world_entities/world_entity.cc

    r5435 r5465  
    6666  // Model Loading
    6767  LoadParam<WorldEntity>(root, "model", this, &WorldEntity::loadModel)
    68     .describe("the fileName of the model, that should be loaded onto this world-entity. (must be relative to the data-dir)") ;
     68      .describe("the fileName of the model, that should be loaded onto this world-entity. (must be relative to the data-dir)") ;
     69
     70  // HACK
     71  LoadParam<WorldEntity>(root, "scaled-model", this, &WorldEntity::loadModelWithScale)
     72      .describe("the fileName of the model, that should be loaded onto this world-entity. (must be relative to the data-dir)") ;
    6973}
    7074
Note: See TracChangeset for help on using the changeset viewer.