CS 4554 - Computer Graphics I: Assignment2: 3D Transform and Navigation

Lab Project Files

Windows Users

Download Lab2_Win.zip

Mac Users

Download Lab2_Mac.zip

Upload to Blackboard

  • A description of your project structure (short documentation);
  • Source code with enough comments to make it clear what you are doing;
  • Video/Gif/Images of your result (upload to the discussion board as well);

Requirements

  • In this lab, you are required to finish 3D space Model, Viewing, Projection transformations.
  • You are required to finish:
    • Create a camera by calculating the viewing matrix.
    • Use keyboard, mouse or UI dragging to move the camera around a specific focus point or move the camera freely in the world.
    • Load and display objects and place them in the world.
    • Use keyboard, mouse or UI dragging to translate, rotate and scale objects.
    • Draw each face with a filled polygon rather than wireframe.
  • Extensions (Bonus):
    • Build up the world by cubes (like Minecraft)
    • Calculate and display normal for each vertex (will be important for lighting and shading in the future)

Additional Help Information

  • To calculate the camera coordinates, you can read this article: Intro to Camera
  • You learn about the usage of ImGui, you can read its official Examples and Gallery