# HW1 FAQ

__Skeleton Code__

When you compile the skeleton code for HW1, the arrow keys will not work. You must add this functionality.

__Common Math Constants/Functions__

`pi`, `cos`, and `sin` should be defined for you when you are modifying Transform.cpp. Note that `cos` and `sin` take radians. Example:
cos(90.0 * pi/180.0);

__GLM Matrix Multiplication__

Depending on your implementation, you may need to left or right multiply matrices. More details can be found on this Piazza post.
__Linux Binaries__

A difficulty with Linux systems is that binaries are not readily portable between different systems. If you cannot run the binaries for the solution, you should try another machine/OS.
__Left/Right Keys__

You must match the implementation exactly, in regards to the interaction with the left/right/up/down buttons. Left will rotate the teapot left, and up will rotate the tepot down.
__Useful URLS __

Here are some URLs that may be useful to you in project 1:

- Wikipedia Article on Rotation Matrix
- GLSL Types
- open gl reference card
- Vector and Matrix Operations
- GLM Documentation
- gluLookAt Specification

__ GLM Documentation __

Some students were asking about documentation for GLM. You can find the documentation for GLM here:

GLM Trig Functions
GLM Geometric Functions:

Note: You can click on GLSL man pages to view more document.
__Linux Solution Binary__

The linux binaries are not really portable across platforms and
architectures. Either run the solution elsewhere or just use the feedback
server for verification; it should not affect your ability to do the
assignment.

__Missing GLUT.DLL or GLEW.DLL__

If your system complains about this missing from SYSROOT, then just put
them in the HW1 DEBUG directory.

__Turning Left or Right on Left Key?__

You should try to match the given solution *EXACTLY*. (In this case, turn
the teapot left or similarly move the viewpoint to the right )