CS 315 Homework 5 - Under a Street Lamp (Part 1)

Due Sun Nov 02 at 11:59pm

Overview

How about a scary scene for Halloween?

For this assignment, you will be using further rendering techniques in order to build a simple animated scene. In particular, your scene will make significant use of lighting and shading to improve its appearance. Furthermore, you'll be working with bigger, more complex models--such as those you might construct through a 3D-modeling application like Blender.

This assignment should be completed individually.

Objectives

The Scene

You will be modeling and rendering an animated scene of some object under a street light. Maybe it is a robot or an alien. Maybe it is an inanimate object. Maybe it is someone enjoying the Tacoma rain. It could be anything--you never know what you might find on a street corner!

Your scene will need to include a couple of elements (more details can be found below)

  1. You will need a model for your streetlamp. You should model and export this as a mesh from Blender.
  2. You will also need a model for the object to stand beneath the street lamp. You can use any object you wish for this, but you'll either need to model this yourself or download a mesh from the internet.
  3. You will additionally need to include at least one other object that is not directly under the light (e.g., a bench, a tree, a dog, a cube, etc).

Overall, your scene will need to include at least 3 objects total.

A significant component of the scene will be how the objects in the scene are lit and shaded. This lighting will change over time--your scene should "animate" in a loop over a 60 second period.

Note that in the next assignment you will be adding further objects to your scene--particularly textured objects (in case you want to plan ahead).

Necessary Files

You will want a copy of the cs315-hwk5.zip file which contains some starter code for this assignment. At this point the file structure should be fairly familiar. Notable changes:

And of course, the zip file also contains a README.txt file that you will need to fill out.

Assignment Details

This section includes some further details and tips for creating your scene:

Modeling the Scene

The first step of the assignment is to model your scene: decide what objects you want your scene to show, acquire meshes of those objects, and then make them show up on the screen!

Materials and Shading

As we will discuss in class, we determine how to light and shade 3D objects by modeling some form of light reflectance. For this assignment, all of your objects should implement the Phong Reflectance Model. Each object will also need its own reflectance, allowing meshes to be shaded differently even under constant lighting.

Day Time

Once you've got a the meshes in place, you should start modifying the default lighting. Begin with "daytime" lighting: the object should be lit by the sun (a directional light) moving across the sky. The actual model of the sun isn't important--it can easily be off-camera (who wants to look at the sun anyway?), or simply a yellow sphere or even a very large point. What is important is that your light source moves in a circular arc around your scene--the direction of the light should be from the light's position to each of your vertices

Night Time

Once you've got things looking good in the daytime, it's time to move into the night. During the night, the primary source of light should be from your street lamp, which should light up only a limited area of the scene (namely, the space under it).

Extensions

There are TONS of ways to extend this assignment. Additional components can be worth a point or two of extra credit.

Submitting

BEFORE YOU SUBMIT: make sure your code is fully functional! Grading will be based primarily on functionality. I cannot promise that I can easily find any errors in your code that keep it from running, so make sure it works.

Upload your entire project (including the assets/ and lib/ folders) to the Hwk5 submission folder on vhedwig (see the instructions if you need help). Also include the .blend file for your streetlamp mesh! Finally, include a filled-in copy of the README.txt file in your project directory!

Important note: Be sure and modify the HTML file so that it the page includes sources for all models you use, giving proper credit.

The homework is due at midnight on Sun Nov 03.

Grading

This assignment will be graded out of 30 points: