Montana Tech of The University of Montana
Computer Science & Software Engineering

CSCI 441
Computer Graphics
Spring 2018



SEMESTER PROJECT

The goal of semester project is to tie together all (or most) of the concepts we've covered in the course.

Impress me.

We've covered (and will cover) several main topics over the semester. For your project, you can choose which parts of these to implement. The list at the bottom of this page shows points from each topic. You must implement something from each topic, and the number of pieces you implement should add up to at least 100 points. Points may be negotiated. If you implement some aspect of a technique in a particularly spectacular way, it may be worth more points than shown on the sheet. Talk to me about this if you have ideas. (Conversely, if you implement something that is less than functional in an area, you may get fewer points.) Some topics naturally include other topics (e.g. mouse-controlled camera includes user interaction). You get points for each. If there are other topics you would like to add, talk to me.


Grading ----
Main TopicSubtopicsPoints PossiblePoints Earned
Geometric TransformationsRotation5
Translation5
Scaling5
Skewing5
Viewing TransformationsParallel Projection5
Perspective Projection5
Multiple Viewports10
Lighting and MaterialsDiffuse Reflection5
Specular Reflection5
Ambient Reflection5
Emissive Reflection5
Point Light Source5
Spotlight5
Transparency5
Texture MappingTexture Mapping5
Environment Mapping15
Bump Mapping10
3D Texture10
MiscellaneousHierarchical Modeling15
External 3D Models15
Composite Animation15
Parametric Curved Surfaces10
Skybox or Skydome10
Mesh Generation10
Geometry Shader Code10
Fog5
Compositing5
User Interaction10
Mouse Control of Camera10
Shadowing10
Collision Detection10
Physics/Acceleration10
Ray Tracing15
Particle Effects15





Submit your java source code and GLSL files, along with any other image or object model files, to the Moodle dropbox for the semester project. If there are any special requirements for compiling and running your code (such as a specific directory structure), make sure that you specify this in the comments of your code.



Page last updated: March 23, 2018