- 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