Download this game here.

  • Controls:
    • Esc – Exit.
    • Shift – Toggle object’s geometry.
    • Backspace – Toggle controlled camera/object.
    • Arrow Keys – Move camera/object.
  1. Assignment Goal:
    • To integrate movement and rendering transformations of objects.
    • To separate game and engine code further, and make the graphics library become more generalized.
  2. Additions & Changes:
    • Renamed sEffectGeometryDuet to sRenderable.
    • Added sGameObject to MyGame.cpp.
      • Holds an sRenderable and its attached sRigidBodyState.
    • Added sCamera to MyGame.cpp.
      • Holds rendering information for a camera to feed to the graphics functions.
  3. Size:
    • Draw a Mesh: sRenderable + cMatrix_transformation
      • sRenderable:
        • x86 – 20 bytes
        • x64 – 8 bytes
      • cMatrix_transformation:
        • x86 – 64 bytes
        • x64 – 64 bytes
  4. Extrapolation:
    • As the render loop operates at a much higher frequency than the physics update loop.
    • It is often the case that an amount of time has passed that the render loop would like to know, so that it can make the movement appear smooth and buttery.
  5. How I Did It:
    • By taking the entire assignment on as a whole, rather than piecemeal, I was able to combine work that may have been done twice into a single go.
  6. Credits:
    • Hitesh Mittapelly was integral in understanding part of the assignment description that I did not first understand “In shader code:“.
Pairing of render used object to the attached rigid body.
Interface to Submit an sRenderable and its Transformation Matrix.