Last Updated: 2013/02/28 18:34:51
Update history:
2012/03/12: |
initial version |
This course will give you experience working with a wide variety of procedural shaders. The project component gives you the opportunity to design, implement, and document a shader from scratch for a more sophisticated effect as a final project. The project will be performed in teams consisting of either two or three students.
A list of possible projects will be discussed early in the quarter; student-initiated effects will also be acceptable. Each student will choose one of these projects, or propose one of his or her own; team assignments will be made to best accomodate these preferences. Although I will attempt to satisfy everyone's expressed preferences, the final assignment of students to teams will be at my discretion.
The project will consist of these phases:
Research: Investigate means by which others have approached the creation of a shader for the target effect. This will require research from relevant graphics journals, books, and the Internet.
Implementation: The shader will be implemented either GLSL or RenderMan® (for two-person teams), or in both GLSL and RenderMan (for three-person teams). Implementation tasks should be distributed amongst members of the team.
Presentations: Two in-class presentations will be made by each team: one at the midpoint of the quarter, and one during finals week. Each presentation will be evaluated by all members of the class.
At the midpoint of the quarter (typically, in week 6), each team will give a short presentation (no more than 10 minutes) of the research that was done for the project. Presentations should include a brief explanation of the effect being implemented, followed by a discussion of what implementation options were considered and what method was selected.
During finals week, each team will present their results. Presentations should be no more than 10-15 minutes in length, and should include a description of the implementation of the shader, a discussion of the algorithms used, and a demo of the shader in action.
Submitted Materials: Again, materials will be submitted in two forms. The team will submit a report describing the research done by the team and the team's results; this should include the same info as the finals-week presentation, but in a written report.
Each team will submit their final implementation. This will include all code for the shader developed by the team, along with usage documentation explaining how the shader is implemented and how it is used.
A number of deliverables must be submitted for the project, as follows:
| Item | Due |
|---|---|
| Effect preferences due via email (everyone) | Wednesday, March 20, 2013 |
| Mid-term presentations (each team) | Wednesday, April 10, 2013 |
| Final presentations (each team) | Monday, May 13, 2013 |
| Research report (each team) | Monday, May 13, 2013 |
| Project materials (each team) | Monday, May 13, 2013 |
| Peer and self evaluations (everyone) | Monday, May 13, 2013 |
Each student must send me (via email to
wrc AT cs.rit.edu) his or her first, second,
and third preferences for effects to be implemented.
I will attempt to satisfy these preferences as best I can, but I reserve
the right to make assignments at my discretion.
Each team will make a short (no more than 10 minutes) presentation to the class describing the effect being implementated by the team and the approach the team will be following. These presentations will be evaluated by all members of the class.
Each team will give a final presentation (approximately 10-15 minutes) describing the effect being implemented, the approach that was taken, and demonstrating the final results of their implementation(s). Each team member is expected to discuss the portion(s) of the project that he or she was responsible for. These presentations will be evaluated by all members of the class.
The team's research report can be submitted from any team member's account. This should be either a plain-text or PDF document, and should be submitted with the command
try wrc-grd shading-rpt file
The final shader implementation can be submitted from any team member's account. This can be a set of individual files, or a ZIP or tar archive of all the files you are submitting, and should be submitted with the command
try wrc-grd shading-proj file(s)
The submitted files must include all code for your implementation, your user documentation, and a copy of your presentation if you used presentation software (e.g., Keynote, Impress (OpenOffice), or PowerPoint).
Finally, each person on the team must submit a self evaluation and a peer
evaluation of each other member of the team.
Use the text files I have provided for you at
eval-peer.txt and
eval-self.txt.
If you have more than one teammate, submit a separate peer evaluation
form for each teammate, named sequentially.
Submit your evaluations using one of these commands (as appropriate):
try wrc-grd shading-eval eval-self.txt eval-peer.txt try wrc-grd shading-eval eval-self.txt eval-peer1.txt eval-peer2.txt ...
Important note: because of grading time constraints at the end of the quarter, late submissions of the research report and project materials cannot be accepted!
Everyone in the class will fill out presentation evaluation forms for both midterm and final presentations. These evaluations will be factored into the "presentation" components of the overall project grade as described below.
Research report grades will be based on the information content of the report. These will be graded separately from the rest of the project.
Project grades will be based on the completeness of the final submitted shader. A base grade for the project will be determined; this may be adjusted based on the evaluation forms submitted by each team member.
The project will be graded using the following weights:
| Item | Weight | |
|---|---|---|
| Mid-Term Presentation | 10% | |
| Final Presentation | 20% | |
| Research and Implementation Report | 20% | |
| Project Materials (code, user documentation) | 50% | |
| Peer and Self Evaluations | +/- bonus points | |