Changeset 4297 in orxonox.OLD for orxonox/branches/physics/src/subprojects/particles/framework.cc
- Timestamp:
- May 26, 2005, 1:49:41 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/branches/physics/src/subprojects/particles/framework.cc
r4296 r4297 25 25 #include "graphics_engine.h" 26 26 #include "resource_manager.h" 27 28 27 #include "camera.h" 29 28 30 29 int verbose; 31 30 32 bool mainLoop()31 bool Framework::mainLoop() 33 32 { 34 33 while(true) 35 34 { 35 // keyhandler returns false if sdl gets quit by some event 36 36 if (!keyHandler()) 37 37 return false; 38 38 39 // tick the scene 39 40 float dt = tick(); 41 40 42 // Draw the scene 41 draw(dt); 42 43 draw(dt); 43 44 } 44 45 } 46 47 48 bool draw(float dt) 45 } 46 47 48 bool Framework::draw(float dt) 49 49 { 50 50 … … 53 53 glLoadIdentity(); // Reset the view 54 54 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 60 55 ParticleEngine::getInstance()->draw(dt); 56 57 camera->apply(); 61 58 62 59 SDL_GL_SwapBuffers(); // Swap the buffers 63 60 64 61 } 65 float tick()62 float Framework::tick() 66 63 { 67 64 currFrame = SDL_GetTicks(); … … 82 79 83 80 84 bool keyHandler()81 bool Framework::keyHandler() 85 82 { 86 83 // This is the main loop for the entire program and it will run until done==TRUE … … 213 210 214 211 215 int main(int argc, char *argv[]) 216 { 217 verbose = 3; 218 212 Framework::Framework() 213 { 219 214 220 215 // Create a new OpenGL window with the title "Cone3D Basecode" at … … 268 263 ParticleSystem* system = new ParticleSystem(100000, PARTICLE_SPRITE); 269 264 system->setLifeSpan(5); 270 system->setConserve( .8);265 system->setConserve(1); 271 266 system->setRadius(4, 3, 1, 2); 272 267 system->setColor(.5,0,0,.5, 1,1,0,1, 0,0,0,0); 273 268 274 269 // 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); 276 271 emitter->setType(EMITTER_DOT ); 277 272 emitter->setSize(0); … … 281 276 ParticleEngine::getInstance()->addConnection(emitter, system); 282 277 283 PNode* camera = new PNode();278 camera = new Camera(); 284 279 285 280 State::getInstance()->setCamera(camera, emitter); … … 287 282 camera->setAbsCoor(Vector(10, 10, 0)); 288 283 289 mainLoop(); 290 284 } 285 286 Framework::~Framework() 287 { 288 delete GraphicsEngine::getInstance(); 289 290 } 291 292 int main(int argc, char *argv[]) 293 { 294 verbose = 3; 295 Framework* framework =new Framework(); 296 framework->mainLoop(); 297 298 delete framework; 291 299 // Kill the GL & SDL screens 292 delete GraphicsEngine::getInstance();293 300 // And quit 294 301 return 0;
Note: See TracChangeset
for help on using the changeset viewer.