CSSE351 - Computer Graphics
Rose-Hulman Institute of Technology
Computer Science and Software Engineering Department
Fall 2017-2018
Course description
This course is an introduction to computer graphics with rasterization. It also covers very basic animation and modeling. You will learn the theory behind computer graphics and implement many graphics algorithms. There will be large programming problems and written assignments due nearly every week. Smaller programs and quizzes will be assigned per topic session. A course capstone team project is required. You will be required to interact with your classmates and participate in many group projects.Official course description: Computer graphics algorithms, hardware and software. Line generators, affine transformations, line and polygon clipping, interactive techniques, perspective projection, solid modeling, hidden surface algorithms, lighting models, shading, and graphics standards. Programming assignments and a final project are required.
Course prerequisites
CSSE 220 - OOP and designMA 212 - matrix knowledge
Technical prerequisites
Knowledge of C-style programming languagesAbility to use and manage software repositories
Ability to use modern internet tools
Social prerequisites
Interact with others in technical settingCommunicate online effectively
Maintain professional communication in course matters
Schedule
See the main course page for schedule details.
Schedule
Section 1 : MTRF 8 : O259
Instructor
Micah TaylorMoench F205 - check my schedule!
812-877-8396
taylormt@rose-hulman.edu
Course objectives
This is what you will learn through this course.- Develop interactive computer graphics applications using a modern graphics API
- Model geometric objects, curves, and surfaces
- Project a three-dimensional scene onto a two-dimensional viewing surface
- Apply lighting and shading to a scene
- Describe the mathematical foundations of computer graphics (e.g. Bresenham's algorithm, transformation matrices, projection matrices)
- Use shader programs to transform, light, and texture objects.
Required resources
Book: Fundamentals of Computer Graphics, 3rd edition
Peter Shirley, Steve Marschner
A K Peters/CRC Press, 2009
The authors maintain a list of known errors.
Hardware: Computer supporting OpenGL version 3+.
Software:
- Modern HTML5 capable browser
- C++ compiler toolchain
- OpenGL
- SFML 2.x
- svn client
Reading
It would be to your benefit to do the reading. You are responsible for all the material in the assigned sections of the book, whether discussed elsewhere or not.
Assignments
There will be many short programs to complete individually. These should not require very much time to complete. Contact me if you get stuck! There will also be several large programming assignments. These will be completed in groups and will require significant time investment. Near the end of the term, there will be a programming project. This is an open-ended group assignment that will require you to use the algorithms and techniques from the course.All programming assignments are to be written in C++ in a manner that ensures I will be able to run them on my machine(s). Programming assignments will be graded primarily on correctness, but style and efficiency are considered. You are not permitted to use any external libraries in your programming assignemnts.
Final Project
Starting in the seventh week of the course you will be working on a project of your choosing. You may work in groups of 3 or 4. Project presentations will likely be held Wednesday or Thursday of 10th week.
Grading
Written assignments | 10% |
Programs | 40% |
Quick code | 20% |
Project | 30% |
Collaboration
Collaboration is encouraged on quick code projects and written assignments. It is required on programs and the project; failure to collaborate will result in a penalty grade. Each individual is responsible for understanding the entire solution. When you collaborate, you must properly credit your collaborators and clearly indicate the extent of the collaboration.Failure to properly acknowledge collaboration is considered cheating. Directly copying code and ideas is cheating. Cheating will result in a penalty grade on the assignment and Student Affairs will be notified. See this page for details.
Resources
Rose provides a number of resources to help you:- For accessibility information, see Rose's Disability Services policies.
- Be aware of relevant services and policies regarding student life.
- Make sure you know academic policies .