Illinois Computer Science
CS 418 Interactive Computer Graphics
MP2: Terrain Generation

Due: 11:59pm CDT, October 22, 2018

For your second Machine Problem, you will have to generate a piece of terrain using the Diamond Square algorithm. For now, this can be a static scene.


Terrain Generation.

Implement the diamond-square algorithm terrain generation algorithm.  As a first step, you may want to have a flat plane rendered first. Once you have that working, you can move to working on the algorithm itself.

When generating the Terrain, create a colormap that is dependent on the height of the terrain at each location.  Then assign a color to each vertex
 based on its height.

Try to come to office hours as early as possible if you have problems with the algorithm.


Lighting And Rendering.

Implement the Blinn-Phong illumination model (Blinn's Specular Reflection Model, Lambert's Diffuse Model, and Ambient Lighting) and Gouraud shading. This means your shading calculations should be done per-vertex - that is, the shading computations should be in the vertex shader.

Do not forget to add light sources so that your Terrain is well lit, and can be clearly seen.

Grading

The assignment will be graded based on the following scale:

Name your submission as ${NetID}_MP2.zip and submit it to Compass. Include all of the files necessary for your application to run locally.  This MP (as are the other MP's) is more than just an assignment for a grade to verify graphics programming proficiency. It is also an opportunity to impress me, your friends/family and your future employer or graduate school. These assignments are designed to provide the student with a portfolio of graphics programs and associated images and animations that can be used to demonstrate graphics expertise. Many students ask me to write letters of recommendation for jobs or grad school and I base these recommendations on their MP results. Use this MP as a chance to show off your graphics skills and make a strong impression.