Lab 1b

Illumination

Due: Sunday, Nov 11th 2018, 23:59

Start Early!!!


Individual Effort:
No team participation is really encouraged in the case of the homework or the labs.
You're are not allowed to use any libraries or extra code except gl-matrix, webgl-utils.js and some helper functions in order to initialize WebGL / load shaders. Especially Three.js is not allowed! If you're not sure or want to use some library, ask the teaching assistants before.

Objectives:


Do the following before you proceed:


Goal:

The goal of this lab is to create a simple, interactive 3D application and explore shading and illumination models. The focus is on the development of a graphics program and how to handle surface properties and lighting. Most of the concepts are laid out in the book as well as in class with example programs.


Tasks:

Follow this guideline step-by-step. Make sure that you thoroughly test your program after each step so that you can find bugs easier and quicker. Create a scene with 9 3D shapes which can be seen from the camera. The shapes should be 3D and not flat. For example: cubes, spheres, cones, or a combination of them. Ensure that at least one of the shapes in the scene contains a curved surface (sphere, cone, cylinder, etc...) in order to better see the effects of the shading models. This assignment directly follows assignment 1a, which may be used as a starting point. Implement the following shading and illumination models using a point light source initialized at coordinates (0, 10, 0):


Extra Credit (max 10%)

In some of the bonus tasks you will have to create a ground plane. You only have to implement it if you are doing the corresponding extra tasks.


Hints


Submission



Grading Criteria

Grading the labs will be based on the following:

In order to get a full mark, you need to do all of the assigned tasks AND adhere to to lab procedures while creating readable and efficient code. I.e. if you accomplish only 70% of the tasks correctly, but you do not adhere to lab procedures, your final mark will be 70*(1-0.05) = 66.5%.


Last modified: September 29, 2018
Manfred Klaffenboeck / manfred DOT klaffenboeck AT univie DOT ac DOT at