MW 3:20-4:50 PM
This is a course on 3D graphics. It will include software development using OpenGL as well as the reading of research papers concerning recent advances in graphics hardware and software. Although we will be using OpenGL 3.1 and visual c++ 10.0 for software development in class the newer 4.3 functionality will be investigated. If you would rather use Linux that would be OK but my system level debugging support will be mainly limited to Windows and Visual. The new versions of OpenGL 3.1-3 and on require the use of vertex and fragment shaders for we will spend considerable time writing these as well. A look at old immediate mode code will also be reviewed. If you wish to do software development on a home computer or laptop you need one that supports OpenGL 3.1 or higher. You may download a GPU Capability Viewer (GPU Caps Viewer), or and extension viewer such as GLview to check out your architecture. Most recent, 2 years or younger, graphics cards can handle OpenGL 4.1 and up. Every student will give a lecture on one of the papers read.
Projects: This course is project intensive and expect up to 4 programs to be given during the course. Each project is to be written in C++ and OpenGL and turned in within an envelope with your name (or group name) and project number printed on the outside. Include a printout of your source and associated output, if appropriate, together with a CD disk containing the programs .exe, .cpp and other necessary files such as data or necessary libraries. Make sure that your program runs off the CD before turning it in.
Prerequisite: Data Structures
Grading: Projects 35%, Paper readings and Quizzes 15%, Presentation 5%, 2 Exams 30% 1 Final 15%
All code is expected to be documented professionally. This implies that each and every function (or class) be documented as to its purpose, I/O requirements and other interesting features. Include a general program heading at the top of your application that clearly defines the purpose of the program, method of execution, your name and project #. Please use *’s to delineate your comments.
Late projects will be penalized 10% per day.
100% attendence is expected.
Doc: Your programs are expected to be documented professionally (15% of your grade). This implies that each and every function (or class) be documented as to its purpose, I/O requirements and other interesting features. Include a general program heading at the top of your application that clearly defines the purpose of the program, method of execution, your name and project #. Please use *’s to delineate your comments.
Ethics: Copying other students programs and other methods of cheating will not be tolerated and will be severely dealt with. If you have problems please see me and I will help you. Remember: The path to self-confidence can never be found through cheating!
NOTE: All students should refer to the current MSU Student Handbook and Activities Calendar for university policies related to class attendance, academic dishonesty, student responsibilities, rights and activities.