CSCI 444/544 - Advanced Computer Graphics

Spring 2017 - Final Project & Report



|   Home |  Syllabus |  Assignments |  Schedule |  Resources   |
The final project and report are due by May 10, 2017 by 7:00pm.

Please Note: For this all future assignments, you are free to choose which OpenGL implementation you would prefer to use. Most of what we will be working on can be accomplished in OpenGL, OpenGL ES, or WebGL. Additionally, you may use GLUT or GLFW for your framework.

HOWEVER - if you choose to use a version or framework that we are not covering in class, then you must ensure your submission builds out of the box on the machines in the Computer Commons. Be sure to note any special instructions in your README.

If the grader (i.e. instructor) cannot compile your code, you will be contacted once to solve the problem.


Final Project


Your final project should be investigating some challenging technique in computer graphics (they all are).


Part I - Code


You will need to implement a working demo of your technique. When completed, the application should run in real time. Your project will most likely include multiple shaders, multiple passes, and potentially other techniques and graphical objects not discussed in class.


Part II - Create Your Website


In addition to creating this awesome looking project, create a new webpage to include several screenshots. Add a lengthy description that describes what the project accomplished. Add links to any online resources you used for researching and implementing the project. It may help to do this after your final report. You may choose to include sections from your report.


Final Report


Depending on which course number your group is registered for (CSCI444 or CSCI544), the content of the report will be the same. The difference will be the required format. For students in CSCI444, the final report can follow paragraph form with figures and tables interspersed. For students in CSCI544, the final report should resemble a conference ready two column paper with figures and tables appropriately placed. There are many templates available and LaTeX will probably prove helpful. Students in CSCI444 may follow the guidelines for CSCI544. For all students, the report needs to be well written, free of spelling and grammatical errors, and clearly explain the topic.

The report needs to contain the following sections:
  1. Abstract: Provide a one paragraph summary of your entire project. Very briefly mention why this technique is important, what makes it challenging, what your solution was, and what your results were. This is essentially condensing each section listed below into one or two sentences. You may want to actually write this section last.

  2. Introduction: Give a high level overview of your project. Why is it important? What makes it challenging/difficult? Describe what will follow in the rest of the report. This section should be several paragraphs long (roughly one plus column).

  3. Related Work: Discuss what has previously been done in this area. What existing and similar solutions exists? What have other people done? Where did those existing solutions fall short? You should be citing your references the most in this section (though you will probably need to cite in the first three or four sections). The length of this section will vary.

  4. Problem Statement: Go into technical detail about the challenges in this area. What specifically makes it difficult? What shortcomings did other techniques have?

  5. Problem Solution: Now go into technical detail about how your solution is implemented. Be sure to specifically mention what each shader is doing, what each pass is doing, and what graphical objects are being used.

  6. Results: How did your implementation work? Did it accomplish what it set out to do?

  7. Conclusion: In a couple paragraphs, summarize all of the above sections. Give any final thoughts on lessons learned, challenges that arose and how they were overcome, and next steps to take to future work.

  8. References: List ALL references you used when researching and implementing your topic. This includes books, articles, websites, etc. For CSCI544 students, be sure to properly cite your references throughout your report as well.
Students in CSCI444 should have at least 3 pages and CSCI544 at least 5 pages. On the other end, there is a maximum number of pages. CSCI444 should not exceed 8 pages and CSCI544 should not exceed 10 pages. Therefore keep in mind your image size and placement as well as concisely but clearly explaining each section.


Documentation


With this and all future assignments, you are expeced to appropriately document your code. This includes writing comments in your source code - remember that your comments should explain what a piece of code is supposed to do and why; don't just re-write what the code says in plain English. Comments serve the dual purpose of explaining your code to someone unfamiliar with it and assisting in debugging. If you know what a piece of code is supposed to be doing, you can figure out where it's going awry more easily. (Interestingly enough, this code review of Doom 3's source code says the exact opposite - well written code should require no comments. Well, we don't work at id so we're going to comment.)

Proper documentation also means including a README.txt file with your submission. In your submission folder, always include a file called README.txt that lists:
  • Your Name / HeroName
  • Homework Number / Project Title
  • A brief, high level description of what the program is / does
  • A usage section, explaining how to run the program, which keys perform which actions, etc.
  • Instructions on compiling your code
  • Notes about bugs, implementation details, etc. if necessary
  • How long did this assignment take you?
  • How fun was this assignment? 1-10 (1 - discontinue this assignment, 10 - I wish I had more time to make it even better!)


Final Project Grading Rubric


Your submission will be graded according to the following rubric.

Percentage Requirement Description
80% Code compiles and runs. Project properly implements technique described. Project runs in real time.
10% README and code submitted. Code is well commented
10% Website Updated


Final Report Grading Rubric


Your report will be graded according to the following rubric.

Percentage Requirement Description
10% Report is properly formatted
20% Report is well written (few typos, good grammar)
20% Figures and Tables used appropriately and as needed
50% Report contains Abstract, Introduction, Related Work, Problem Statement, Problem Solution, Results, Conclusion, and Works Cited (References)


Submission


Please update your project so it produces an executable with the name finalProject. When you are completed with the project, zip together your source code, README.txt, and www/ folder. Name the zip file, finalProject.zip. Upload this file to Canvas under Project Code.

Submit your report as a PDF to Canvas under Project Report.

The final project and report are due by May 10, 2017 by 7:00pm.

Last Updated: 01/01/70 00:00


Valid HTML 4.01 Strict Valid CSS! Level Triple-A conformance, W3C WAI Web Content Accessibility Guidelines 2.0