CSE 40166 / 60166 - Computer Graphics

|    Home  |   Syllabus  |   Assignments  |   Schedule  |   Resources   |

Final Report

This assignment is due by December 14, 2012 by 5:00pm.
Please note that December 14 is a FRIDAY.


Part I - Required Components

This will be an individual assignment that serves as both a final project summary report and final comprehensive report. There are four major parts that the report should contain:
  1. Program Usage
    This section should be an extended README. Explain all the features of your project and how to interact with the program. This section should be written for a user who is unfamiliar with the graphic techniques used and just downloaded your executable. Instruct them in how to move around your world, how to view all the different features, etc. This should be a non-technical writeup. DO NOT merely copy your README into this section and likewise do not copy this section into your README. They should be different, in that the README is a quick guide to compile, run, and interact with your program.

  2. Project Features
    This section now allows to you discuss all of the technical concepts implemented in your project. Be sure to discuss where each of the below items are present in your project and how they are implemted.

    • Texturing - Where are textures present in your project? What difficulties arose when using and choosing textures? How did you overcome these difficulties?

    • Lighting - How is lighting implemented in your project? What lighting model/approximation is used? How do the materials chosen interact with the lights used? What difficulties arose when working with lighting and materials together? How did you overcome these difficulties?

    • Shaders - What are the two shader programs you wrote? How do they enhance the visual appearance of your project? Why were shaders necessary to perform these actions? What difficulties arose when doing shader programming in GLSL and implementing your shader ideas? How did you overcome these difficulties?

    This section should be quite technical in detail. Assume the reader has sat through the entire course and is familiar with any terminology used. The answers to these sections should be specific to your project. Be sure to give specific details of what you did in your project.

  3. Advanced Graphics Topics
    Once we began discussing shaders, there were many advanced graphics techniques introduced that shader programming made possible. From the list below, choose at least two topics and discuss the technique that is being applied. (For extra credit, a third topic may be discussed.) Then describe how shaders can be used to implement the technique. What steps must be taken to implement the technique? What advantages to these techniques offer? What disadvantages and possible problems are present in each of these techniques? What role does the vertex, geometry, and fragment shaders play for each technique? Include screenshots of examples from video games, movies, or television shows that exhibit the technique. DO NOT use any example provided in class. Provide pseudocode if necessary but be sure to explain in english what is being done and specific details as to how to implement the technique.

    • Fresnel / Anisotropic Shading
    • Normal / Bump Mapping
    • Displacement Mapping
    • Skeletal Animation
    • Depth of Field
    • Shadow Mapping
    • Environment Mapping

  4. Final Question
    Please answer this final question:
    Person A insists that for a scene with no transparent objects, rendering order is completely irrelevant in terms of both correctness and performance. Person B suggests that, for certain scenes, rendering triangles from front to back might reduce rendering time or power consumption. Both of them assume that there are no transparent objects present, and that the cost of sorting is relatively cheap. Is B correct? If so, why? (Hint: assume that a scene makes heavy use of computationally expensive fragment shaders on all objects.)
  5. References
    We are aware that there are many tutorials available online, but be aware that not every tutorial is correct nor applies to the methods we are using in class. You are to adhere to the University Honor Code. If you do use any resources (including the course text book), be sure to properly give reference to any outside materials used.
There is no minimum or maximum requirement for length. It should be as long as needed to effectively demonstrate mastery of each technique/topic. Where appropriate, include any figures or diagrams that will aid and enhance your discussion.


Grading Rubric

The final report will be graded according to the following rubric:

PercentageRequirement Description
15%Program Usage
20%Project Features
40%Advanced Graphics Topics
25%Final Question


Submission

You have two options in submitting your project report:
  • Email - email a PDF of your report to the instructor.
  • Hard Copy - submit a hard copy of your report to the instructor.
You are encouraged to use LaTeX in constructing your report but it is not required. If you complete your report before the deadline, you are encouraged to turn it in early.

This assignment is due by December 14, 2012 by 5:00pm.
Please note that December 14 is a FRIDAY.