Lab 0
Due: Sunday, Oct 18th 2020
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:
- To understand the Web GL pipeline initialization.
Do the following before you proceed:
- Get a copy of the required book
- Find it's online repository and study the practical examples.
- You have a fridge full of nutritious food.
Goal:
The goal of this lab is to create a simple WebGL application. The focus
is on setting up the Web GL pipeline and writing all the boilerplate code
so that you can dive into the next lab without having to worry about Web GLs
initialization.
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.
- Programming
- Set up a drawing window and draw a simple box
- Set up a basic WebGL program, which initializes the drawing
window. Draw a simple triangle.
- Administrative
- Provide proof that you have a copy (physical or digital) of the required book
Submission
- Be sure to double check your final submission by unzipping it
in another directory on a different computer
- Be sure to submit any comments or remarks in a 'readme.txt' file.
- Submit your files on Moodle.
- Include everything required by your program in your submission including: objects, textures, etc...
Grading Criteria
Grading the labs will be based on the following:
- 80%: Correctness and adherence to assignment specification.
- 10%: Readability and structure of code, use of comments, indentation, etc.
- 5%: Efficiency and speed (only an issue if its very inefficient)
- 5%: Adherence to lab procedures (submitting, naming conventions, etc)
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%.