Final Rendering

Goals

The main goal of this assignment is to independently set up and render a scene of your choice. Of course, it's certainly okay to ask for help! I just want you to practice going through the setup on your own and develop your own graphics programs from scratch. This assignment is also an opportunity to be creative with the course concepts, or to investigate a topic in more depth.

Before getting started, you should find someone to work with since this assignment will be completed in pairs.

Define your scene

With your partner, sketch out the scene you would like to render, and make sure everyone in your group is excited about this scene. You can find assets (meshes, textures) using some of the websites listed in Lab 5.

Try to keep the total number of triangles less than 10,000. If you need to, you can decimate the model using MeshLab (see the link in Lab 5).

You'll need to determine a point to "look at" and where the eye should be located. Think about averaging all the model vertices to get some central point to look at (to get started). Then offset the eye from this point in some chosen direction.

You can also add some analytic shapes, like an infinite plane or large sphere if you want to render things like the ground.

You should also determine if there will be any motion in your scene. Do you want someone to click and drag the HTMLCanvas to interact with the scene? Do you want the arrow keys to control the view? Do you want to animate your models?

How do you want to shade your model? Do you want to use a flat shading technique (using the triangle normals) or do you want to interpolate vertex normals (using barycentric coordinates) to compute the normal at a ray-triangle intersection? Do you want to texture the surfaces? If so, how (procedural or using our cut-and-paste model)?

Requirements

If there is something else you want to explore (like a topic related to rasterization, which would use WebGL), please come and talk to me during office hours about this.

Submission





© Philip Caplan, 2025