CS 450/550 -- Fall Quarter 2022
100 Points Total
10 points: One-page Project Proposal PDF to be turned into Teach by 23:59:59 PM on Wednesday, November 9,
no Bonus Days
90 Points: Project and Report due: Tuesday, December 6, 23:59:59 PM, no Bonus Days
This page was last updated: September 3, 2022
The goal of this assignment is to give you a chance to apply
all that you have learned to a project of your own choosing.
- It must involve some serious 3D computer graphics.
- It must be worth 100 points
- It must be do-able in 1 week.
- It can involve textures, but doesn't have to.
- It can involve lighting, but doesn't have to.
- It can involve shaders, but doesn't have to.
- It can be based on other work that you have seen, but it must be your own implementation
- It must be adequately explained in your write-up.
Before your project becomes "official", I need to approve a proposal from you.
This needs to be a 1-page PDF suvbmitted to Teach by the date and time listed above.
What you propose must be worth 100 points.
Compare what you are proposing versus one of the 100-point projects, for example.
Give me enough detail that I can figure out if it is worth 100 points and if it is doable in a week.
I will get back to you by the end of the following week to tell you if your proposal has been accepted.
On the proposal cover, be sure to put your project title, your name, and your email address.
If you want to bring in other 3D objects to work with
(and there are a lot of them on the web),
look for something in a .obj format.
If you want to load a .obj file, incorporate the file loadobjfile.cpp into your own code.
(See the Announcements.)
Warning! Not all obj files have normals and textures.
Take a look at the obj file (it is ascii-editable).
If you see lines of text beginning with vn, it has normals.
If you see lines beginning with vt, it has texture coordinates.
If you liked the Bézier curves from the Geometric Modeling section,
there is a Bézier surface form as well.
It has 16 control points instead of 4 and produces a smooth, slightly-bumpy, surface instead of a smooth, slightly-bumpy, curve.
I'd be happy to show this to you if you would find it useful.
The Turn-In Process:
Your electronic turnin will be done at
and will consist of:
- All source files (.cpp, .obj, .bmp, .vert, .frag)
- No executable is required.
- All texture image files
- All .obj files
- Your PDF report. See below for a description of what belongs in your PDF file.
- Do not .zip the PDF file in with the other files!
I will use a script to collect all the PDFs into a single PDF,
which I can't do easily if your PDF is hidden in a .zip file.
Your electronic submission is due at the date and time listed above.
Bonus Days cannot be used on this project.
This time, Teach will be setup not to accept late submissions.
Your PDF Report
In addition to doing the project, you also need to write a final report about it:
- Turn the PDF of your report into Teach with your other files
- You report needs to include:
- The text from your proposal
- What you actually did for your project, with images
- How your project differs from what you proposed, and why
- (optional) Any impressive cleverness you want us to know about
- What you learned from doing this project (i.e., what you know now that you didn't know when you started)
- Some images that are especially representative of what you did
- A link to the video showing off your project.
Be sure your video is set to unlisted.
Some Possible Ideas
- Something with displaying 3D data
- Something with creating and traveling through a cityscape
- Displacement-mapped Moon (I have both textures you will need)
Some Comments on Popular Project Ideas
I have noticed some patterns in popular project ideas.
Click here to see those comments.
Getting the project proposal in on time and in the right format is worth the first 10 points!