Assignment #1 - COMP 371
My first real OpenGL project: the first in many to come :) I'll include some progress updates along the way, as well as instructions to how to build and run it.
Note: the +Z-axis is the up direction (blue line), the +Y-axis is the right-ish direction (green line) & the +X-axis is the left-ish direction (red line)
- Many keybinds to control the camera and the model
- Animated and fun-shaded tennis racket with ball
- Lit model using the simple Phong Lighting model
All depended upon libraries should already be included in the vendor folder.
- Generate project files with CMake
- Set the working directory to the root of the project
- Run the
tennis_love
project!
Similar to the above instructions, with the key difference being to clone the repository with --recurse-submodules
to include the depended upon libraries.
- Generate project files with CMake
- Set the working directory to the root of the project
- Run the
tennis_love
project!
Home
: Resets the camera's position & rotationTab
: Resets the model's position & rotationSpace
: Randomizes model's position on the grid
U
: Scale model upJ
: Scale model down
The following controls' direction were decided relative to the default camera's position, because it was assumed that the user wouldn't orbit the camera much.
W
: Move model forward (along the X axis)A
: Move model left (along the Y axis)S
: Move model backward (along the X axis)D
: Move model right (along the Y axis)
q
: Rotate model forward (around the X axis)e
: Rotate model backward (around the X axis)w
: Rotate model left (around the Y axis)s
: Rotate model right (around the Y axis)a
: Rotate model clockwise (around the Z axis)d
: Rotate model counter-clockwise (around the Z axis)
The following changes the world orientation (orbits the camera).
Up Arrow
: Orbit upRight Arrow
: Orbit rightDown Arrow
: Orbit downLeft Arrow
: Orbit left
Keypad 7
: Move camera upward (along the Z direction)Keypad 9
: Move camera downwardKeypad 8
: Move camera forward (along where it's looking)Keypad 4
: Move camera leftKeypad 2
: Move camera backward (along where it's looking)Keypad 6
: Move camera right
Right Click
&Horizontal Mouse
: Pan the camera (rotates it horizontally)Middle Click
&Vertical Mouse
: TIlt the camera (rotates it vertically)Left Click
&Mouse
: Moves the camera in and out of the scene (along where it's looking)
P
: Renders the model as pointsL
: Renders the model as linesT
: Renders the model as filled triangles (i.e. polygons)