The project will test your skills in writing a simple interactive WebGL application that runs from a webpage and uses three.js. The basic outline of the project is as follows:
Part I
Write a function that takes in a size parameter and draws a sphere of that size.
- Render a sphere with one directional light in the scene and use a material that uses diffuse as well as specular properties
- The camera is fixed and the sphere location can be changed in the x or z directions using the arrow keys.
- Pressing the + or - changes the size of the sphere (min 2 and max 8)
- Pressing S makes the sphere flat shaded
- Pressing G makes the sphere gouraud shaded
- Pressing Q makes the sphere phong shaded
Part II
Render the sphere in Part I by baking in the vertex colors, for every vertex calculate its vertex normal by averaging the face normals. Normalize it and then pass the normalized value as a Hue Saturation and Lightness color value i.e. x -> H y->S and z->L
You can enable this feature by pressing B
Submitting instructions:
Create an html page that calls the .js file used for the project and submit both the files.