-  1/25, 1/27 1/29 Lecture:  Java vs. C++ 
                      (printable version)
    
-  2/1 Lecture:  Introduction to Ogre 
                      (printable version)
-  Download OgrePongAssignment.zip (Corrected!), and get it to run in the labs 
-  Modify the OgrePongAssignment project in the following ways:  (note:  the modifications get progressively difficult as you go on!)
-  Right now, the coin can be moved left and right with the arrow keys.  Add code to world.cpp
to allow the coin to be moved up and down with the arrow keys as well.
-  Next, add code to camera.cpp to allow the camera to rotate left/right and up/down using the keys wasd.  Note that the camera will need a pointer to the InputHandler for this to work!
-    Next, add code to camera.cpp to allow the camera to
  "strafe" - that is, to translate up/down on a shift-w or shift-s,
  and translate left/right on a shift-a and a shift-d.  This will
  require distinguishing between a and shift-a, of course! For this
  problem, you can translate the camera in world space.  If you
  rotate the camera before translating it, then you will likely get
  some odd behavior ...
-    Next, alter the camera strafing code so that translation happens
  relative to the camera instead of the world.  That is, if you press
  shift-a, the camera should not move to the left in word coordinates
  (by translating the camera by something like
  Ogre::Vector3(time*velocity, 0, 0)), but instead the camera should
  move to the camrea's  left. moveRelative makes your life
  much easier here.  Play around with the program a little to see
the difference between relative and absolute motion 
-    Finally, redo the last problem (strafing the camera relative to
  the camrea instead of the world), but don't use the moveRelative
  method for the camera.  Instead, calculate where the camera
  should move yourself.  (I don't really expect anyone to be able to
  do this before we cover more 3D math, but if you finish the first
  few exercises and are getting bored, this will keep you occupied) 
 
 
-  2/3, 2/5 Building Models in Blender / Exporting to
    Ogre 
-  Create a model of anything in blender (Don't go too crazy, do
  something pretty simple) 
-  Mark seams, unwrap the model, export the UV map
-  Paint a texture (in Gimp or the like), import back into Blender, apply material 
-  Export to Ogre
-  Add files to Content folder, run simple Ogre code with changes
 
-  2/8, 2/10 Lecture:  Intro to 3D Math 
                      (printable version)
  
-  2/12, 2/17,  Lecture:  Linear Transformations 
                      (printable version)
  
-  2/19 Translation and Rotation:  Practical Applications 
-  2/22, 2/24 Translation and Rotation:  Practical Applications II 
-  2/26 Lecture:  Determinant anad Inverse 
                      (printable version)
  
-  2/26, 2/28 Lecture:  Homogenous Matrices 
                      (printable version)
  
-  3/3, 3/5, 3/7 Lecture:  Orientation 
                      (printable version)
  
-  3/9 Lecture:  Intersection 
                      (printable version)
  
-   Lecture lua 
                      (printable version)
 
-  Lua Practical  
-  Using Lua with C  
-  Using Lua with Ogre  
-  4/14 Spatial Data Structures 
                      (printable version)
  
-  4/16:  Lecture: Debugging 
                     (printable version) 
-  Lua Scripting  
- AI in Games : Pathfindingsides
notes
-   Animations in Blender  
-  Lua Scripting II  
- AI in Games : Strategy sides
notes