Description
Start by creating your own repository in the GitHub Classroom of the course by clicking on this link
https://classroom.github.com/a/_RS8wLpg, please enter the email you used to register in Piazza. If you are not registered in Piazza https://piazza.com/uniroma1.it/spring2019/1044398/home please register and then post a message on Piazza with your email saying you cannot register in GitHub Classroom. After registering in GitHub Classroom, start by cloning or downloading this repository
https://github.com/marcoschaerf/hw1 which contains the files needed for the homework. Please
You need to modify the files so to obtain the following effects.
- Add the viewer position (your choice), a projection (your choice) and compute the ModelView and Projection matrices in the Javascript application. The viewer position and viewing volume should be controllable with buttons, sliders or menus.
- Include a scaling (uniform, all parameters have the same value) and a translation Matrix and control them with sliders.
- Define an orthographic projection with the planes near and far controlled by sliders.
- Split the window vertically into two parts. One shows the ortographic projection defined above, the second uses a perspective projection. The slider for near and far should work for both projections. Points 5 to 7 use the splitted window with two different projections
- Introduce a light source, replace the colors by the properties of the material (your choice) and assign to each vertex a normal.
- Implement both the Gouraud and the Phong shading models, with a button switching between them.
- Add a procedural texture (your choice) on each face, with the pixel color a combination of the color computed using the lighting model and the texture
Describe your solution in a short PDF document (2-3 pages) describing the techniques used, the advantages and disadvantages of the proposed solution and the features of your solution.



