Starting from:

$25.99

IG-Interactive Graphics: Homework 1 Solved

To complete the assignment you need to use GitHub Classroom (NOT YOUR PERSONAL GITHUB ACCOUNT), start by creating your own repository in the GitHub Classroom of the course by clicking on this link

https://classroom.github.com/a/0dl0Ie9A, please enter your official studenti.uniroma1.it email that you used to register in Google Classroom. If you are not registered in Google Classroom please do so by going to https://classroom.google.com/ (code “2wuw3mr”). The assignment material includes this PDF file and two directories, Homework1 (containing the files homework1.html and homework1.js) and Common (containing the files MVnew.js and initShaders.js). You need only to modify the two files (homework1.html and homework1.js) and add a short documentation in PDF format (more details at the end of this file). Please do not change the names of the files, you only need to modify their content.

You need to modify the files so to obtain the following effects: 

Replace the cube with a more complex and irregular geometry of 20 to 30 (maximum) vertices. Each vertex should have associated a normal (3 or 4 coordinates) and a texture coordinate (2 coordinates). Explain in the document how you chose the normal and texture coordinates.
Compute the barycenter of your geometry and include the rotation of the object around the barycenter and along all three axes. Control with buttons/menus the axis and rotation, the direction and the start/stop.
Add the viewer position (your choice), a perspective projection (your choice of parameters) 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. Please choose the initial parameters so that the object is clearly visible and the object is completely contained in the viewing volume. By changing the parameters you should be able to obtain situations where the object is partly or completely outside of the view volume.
Add a cylindrical neon light, model it with 3 light sources inside of it and emissive properties of the cylinder. The cylinder is approximated by triangles. Assign to each light source all the necessary parameters (your choice). The neon light should also be inside the viewing volume with the initial parameters. Add a button that turns the light on and off.
Assign to the object a material with the relevant properties (your choice).
Implement both per-vertex and per-fragment shading models. Use a button to switch between them.
Create a procedural normal map that gives the appearance of a very rough surface. Attach the bump texture to the geometry you defined in point 1. Add a button that activates/deactivates 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. 

More products