Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 26, 2005, 1:49:41 PM (19 years ago)
Author:
bensch
Message:

orxonox/branches/physics: framework is a class now

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orxonox/branches/physics/src/subprojects/particles/framework.cc

    r4296 r4297  
    2525#include "graphics_engine.h"
    2626#include "resource_manager.h"
    27 
    28 
     27#include "camera.h"
    2928
    3029int verbose;
    3130
    32 bool mainLoop()
     31bool Framework::mainLoop()
    3332{
    3433  while(true)
    3534    {
     35      // keyhandler returns false if sdl gets quit by some event
    3636      if (!keyHandler())
    3737        return false;
    3838
     39      // tick the scene
    3940      float dt = tick();
     41
    4042      // Draw the scene
    41       draw(dt);
    42      
     43      draw(dt);     
    4344    }
    44 
    45 }
    46 
    47 
    48 bool draw(float dt)
     45}
     46
     47
     48bool Framework::draw(float dt)
    4949{
    5050 
     
    5353  glLoadIdentity(); // Reset the view
    5454 
    55   glMatrixMode(GL_PROJECTION);
    56   glLoadIdentity();     
    57   gluPerspective(45.0f,500/375,0.1f,dist * 5.0f);
    58   gluLookAt (0, dist , dist, 0,0,0, up.x,up.y,up.z);
    59  
    6055  ParticleEngine::getInstance()->draw(dt);
     56
     57  camera->apply();
    6158 
    6259  SDL_GL_SwapBuffers(); // Swap the buffers
    6360
    6461}
    65 float tick()
     62float Framework::tick()
    6663{
    6764  currFrame = SDL_GetTicks();
     
    8279
    8380
    84 bool keyHandler()
     81bool Framework::keyHandler()
    8582{
    8683  // This is the main loop for the entire program and it will run until done==TRUE
     
    213210
    214211
    215 int main(int argc, char *argv[])
    216 {
    217   verbose = 3;
    218 
     212 Framework::Framework()
     213{
    219214
    220215  // Create a new OpenGL window with the title "Cone3D Basecode" at
     
    268263  ParticleSystem* system = new ParticleSystem(100000, PARTICLE_SPRITE);
    269264  system->setLifeSpan(5);
    270   system->setConserve(.8);
     265  system->setConserve(1);
    271266  system->setRadius(4, 3, 1, 2);
    272267  system->setColor(.5,0,0,.5, 1,1,0,1, 0,0,0,0);
    273268
    274269  // Creating a Test Particle Emitter
    275   ParticleEmitter* emitter = new ParticleEmitter(Vector(0 , 0, -1), 0, 100, 1);
     270  ParticleEmitter* emitter = new ParticleEmitter(Vector(0 , 1, 0), 0, 100, .01);
    276271  emitter->setType(EMITTER_DOT  );
    277272  emitter->setSize(0);
     
    281276  ParticleEngine::getInstance()->addConnection(emitter, system);
    282277
    283   PNode* camera = new PNode();
     278  camera = new Camera();
    284279
    285280  State::getInstance()->setCamera(camera, emitter);
     
    287282  camera->setAbsCoor(Vector(10, 10, 0));
    288283
    289   mainLoop();
    290    
     284}
     285
     286Framework::~Framework()
     287{
     288  delete GraphicsEngine::getInstance();
     289
     290}
     291
     292int main(int argc, char *argv[])
     293{
     294  verbose = 3;
     295  Framework* framework =new Framework();
     296  framework->mainLoop();
     297
     298  delete framework;
    291299  // Kill the GL & SDL screens
    292   delete GraphicsEngine::getInstance();
    293300  // And quit
    294301  return 0;
Note: See TracChangeset for help on using the changeset viewer.