Graphics banner

Introduction to Computer Graphics
CMPS-3350/6350, Fall 2018
TR, 9:30am-10:45pm

Course Information

A comprehensive introduction to the mathematics and algorithms that drive today's digital special effects, animation, and games. Designed as a hands-on course, students will gain experience in building 2D/3D interactive applications using OpenGL. Topics covered will include geometric transformations, projections, raster algorithms, 3D object models (surface and volume), visible surface algorithms, texture mapping, lighting/shading, ray tracing, anti-aliasing, and compositing.

Learning Outcomes
Upon completion of the course, successful students will be able to:
  • understand the current state-of-the-art in graphics technologies;
  • understand the underlying mathematics, algorithms, and data structures that drive movie and game graphics;
  • program interactive 2D/3D graphics programs using OpenGL with proper lighting, shading and texture mapping;
  • program the graphics pipeline through the use of shaders; and
  • program a ray tracing renderer and understand how to extend it to achieve photorealistic global illumination.
Prerequisites
  • CMPS 1600 or good programming skills (C and C++ are the preferred languages of the course)
  • Knowledge of basic data structures like: Linked Lists, Arrays, Trees
  • Simple linear algebra: matrix multiplication, vector addition, etc.
  • A computer capable of OpenGL 3.1+ development
Instructor TA
Taher Rahgooy
Office Hours
Summa: T, 8:30am-9:30am; R, 11:00am-12:00pm
Rahgooy: M, 11:00am-12:00pm; W, 11:00am-12:00pm
Book
Recommended:
  • OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.5 (9th Edition)
Other Good Graphics Texts:
  • Interactive Computer Graphics: A Top-Down Approach with WebGL, 7th Edition by Angel and Shreiner
  • Fundamentals of Computer Graphics (4th Edition) by Shirley, Ashikhmin, and Marschner
  • Computer Graphics: Principles and Practice (3rd Edition) by Hughes and van Dam
  • Physically Based Rendering, Second Edition: From Theory To Implementation by Pharr and Humphreys
Grading
Undergrads:
10% Class Participation
30% Programming Assignments (4 planned)
20% Midterm Game Project
20% Final Raytracing Project
20% Final Exam

Grads:
10% Class Participation
10% Readings
30% Programming Assignments (4 planned)
15% Midterm Game Project
15% Final Raytracing Project
20% Final Exam

Programming assignments can be submitted up to 1 week beyond a due date with a 20% reduction in grade.

Final grade will be assigned as follows:
A >= 93% [Exemplary. Superior achievement.]
A- >= 90% [Outstanding]
B+ >= 87%, B >= 83%, B- >= 80% [High Pass, Above Average]
C+ >= 77%, C >= 73%, [Pass, Average work, Satisfactory] C- >= 70% [Below Average]
D >= 60%, [Low Pass, Unsatisfactory, Barely passing]
F < 60% [Failure, Unacceptable]

Collaboration and Academic Integrity
You are required to adhere to the Code of Academic Conduct. Cheating will be reported to the Associate Dean of Newcomb-Tulane College. I encourage collaboration, but everyone's work must be their own. Help and sharing of small code snippets to help someone get past a bug are OK, but whole files or classes are not. In cases of over sharing, everyone involved will be held equally responsible irregardless of who did the original work. Sources other than the textbook should be cited appropriately.
One Wave
Tulane University recognizes the inherent dignity of all individuals and promotes respect for all people. As such, Tulane is committed to providing an environment free of all forms of discrimination including sexual and gender-based discrimination, harassment, and violence like sexual assault, intimate partner violence, and stalking. If you (or someone you know) has experienced or is experiencing these types of behaviors, know that you are not alone. Resources and support are available: you can learn more at titleix.tulane.edu. Any and all of your communications on these matters will be treated as either “Confidential” or “Private” as explained in the chart below. Please know that if you choose to confide in me I am mandated by the university to report to the Title IX Coordinator, as Tulane and I want to be sure you are connected with all the support the university can offer. You do not need to respond to outreach from the university if you do not want. You can also make a report yourself, including an anonymous report, through the form at tulane.edu/concerns.

Confidential Private
Except in extreme circumstances, involving imminent danger to one’s self or others, nothing will be shared without your explicit permission. Conversations are kept as confidential as possible, but information is shared with key staff members so the University can offer resources and accommodations and take action if necessary for safety reasons.
Counseling and Psychological Services (CAPS) | (504) 314-2277 or The Line (24/7) | (504) 264-6074 Case Management and Victim Support Services | (504) 314-2160 or srss@tulane.edu
Student Health Center | (504) 865-5255 Tulane University Police (TUPD) | Uptown - (504) 865-5911. Downtown – (504) 988-5531
Sexual Aggression Peer Hotline and Education (SAPHE) | (504) 654-9543 Title IX Coordinator | (504) 865-5615 or titleix@tulane.edu
Schedule

Projects

Midterm Project: 2D Game

For this project, you'll use all of the topics covered so far in the course: drawing, primitives, transforms, etc. to build a 2D asteroids clone.

Anne Nygard 2016 Cody M Licorish 2015Final Project: Whitted-Style Ray Tracer

For our final project, you'll construct a ray-tracer, the basic image creation technique for feature animation and special effects. You'll be provided an interactive, 3D OpenGl application to preview your rendered scene. This will leverage all topics covered in the course including: 3D transformations, texture mapping, lighting, shading, reflection, and refraction.

Resources

Website last updated August 23, 2018