CS 457/557 -- Winter Quarter 2018

Project #6

Geometry Shaders for Quantizing 3D Geometry: The Lego™ Project

100 Points

Due: March 12


This page was last updated: March 1, 2018


Introduction:

So many of the shader experiments I run are inspired by something I saw in a movie. In this case, I was intriqued by some of the things I saw in the Lego movies. If you haven't seen any of them, try to see the Batman Lego movie -- I think that's the funniest. Example:


Barbara Gordon, squeezing into the Batmobile: "Batman, why didn't you build more than one seat?"
Batman: "Because, last I looked, I only have one butt."

Sometimes childish humor is the best...

Requirements:

  1. Your input should be something with triangles, e.g., the teapot, the torus, an OBJ file, etc.

  2. Have a uLevel slider that controls the number of levels of triangle subdivision.

  3. Have a uQuantize variable that controls the quantization equation (see below).

  4. Have a boolean checkbox, uModelCoordinates so that you can switch between using model coordinates and using eye coordinates.

  5. Do some sort of lighting. The quick-and-dirty-diffuse is fine.

Hints

The Turn-In Process:

  1. Your turnin will be done at http://engr.oregonstate.edu/teach and will consist of:
    1. All source files (.glib, .vert, .geom, .frag). You can zip this all together if you want.
    2. A PDF report with a title, your name, your email address, nice screen shots from your program, and the link to the Kaltura video demonstrating that your project does what the requirements ask for. Narrate your video so that you can tell us what it is doing.
    3. Be sure your video's protection is set to unlisted.
    4. Do not put your PDF into your zip file. Leave it out separately so my collect-all-the-PDFs script can find it.

Be sure that your PDF file is turned-in separately (not part of a .zip file).

Grading:

FeaturePoints
uLevel correctly subdivides each triangle20
uQuantize correctly quantizes the position of each vertex40
Able to correctly switch between doing it in model coordinates and doing it in eye coordinates20
(The switch between model and eye coordinates will need to be demonstrated in your video.) 
Your lighting is able to distinquish between the different faces20
Potential Total100