game engine programming. game engine game engine rendering engine (ogre) rendering engine (ogre)...

Download Game Engine Programming. Game Engine Game Engine Rendering Engine (OGRE) Rendering Engine (OGRE) Physics Engine (Bullet) Physics Engine (Bullet) Input/Output

Post on 12-Jan-2016

221 views

Category:

Documents

5 download

Embed Size (px)

TRANSCRIPT

PowerPoint Presentation

Game Engine ProgrammingGameEngineRendering Engine(OGRE)Physics Engine(Bullet)Input/Output System(OIS)Graphical User Interface(CEGUI)Audio Output(OpenAL)Game Engine ComponentsRenderer(OpenGL)XML Parser(TinyXML)Game ComponentsModelsTexturesScriptsGUI LayoutsScenesMaterialsAnimationsA.I.GUILayoutSound/MusicSystemConfig.VideoImagesSavedDataKeyboardMappingGame Loopconfiguration();create_the_scene();while(!done){read_input_state();update_game_objects();render_scene();} //end whileclean_up();TimingEach iteration of the loop varies in time.How can we make movement smooth?Scene GraphRootSceneNodeSceneNodeSceneNodeSceneNodeSceneNodeEntityEntityEntityGeometry3D MeshCameraTransforms:LocationRotationScaleOGRE DemonstrationOpen up a terminal windowRun the command: SampleBrowserTry out some samples.Move around a scene.Physics EngineManages collisions.Force, torque, velocity.Friction and restitution.Rigid and soft bodies.Physics Engine ObjectsSceneNodeEntityRigidBodyCollisionShapeDynamics and CollisionSimulation

Bullet DemonstrationOpen a terminal window.Run the command: BulletDemoCommands vary: h sometimes brings help.Try different demos.Right-click often fires blocks at the scene.OGRE/Bullet ExampleOpen eclipse in a new workspace.Menu: File->ImportGeneral->Existing Project into WorkspaceClick NextClick Select Archive File and browse to find: /Courses/cs391/PizzaShooter2.zipClick FinishSwitch to C++ Perspective

OGRE Bullet ExampleC++ Classes: Header and implementation filesPizzaShooterAppFrameRendering EventsmanageCollisionsPizzaGOBfirePizzaOgreGOBAnimationPizzaShooter classesBaseApplicationPizzaShooterAppDirectionPointerGameObjectPhysicsGameObjectPizzaGOBPizzaShooter(main)PlaneGOBTargetCubeGOBOgreGOBHazards of C++/OpenSourceC++Memory managementError MessagesSyntaxLinking librariesCross platform issues

OpenSourceBuggyComplexVersion maintenance

CS 391: Spring 2015C++ Programming.Managing small software projects.Writing and testing games!

CS Elective Courses 2014-2015Fall 2014CS 360 DatabaseCS 373 GraphicsSpring 2015CS 322 NetworksCS 371 Artificial IntelligenceCS 391 Selected TopicsPHY 240 Electronics