CS 470 - Advanced Graphics Programming

Fall 2014

Class times:

Instructor:

Course Description

This course is a follow up to CS 370 and will explore more advanced graphics programming topics. Topics will include creating geometry using meshes, applying stencil and accumulation buffers for shadows, developing both application and GPU particle systems, advanced lighting effects, environment and cube maps, and other advanced shader effects. Both HLSL (DirectX) and GLSL (OpenGL) shader languages will be used for implementation of the various shader effects. Students will demonstrate their knowledge through several projects throughout the semester.

Prerequisites

CS370 with a grade of 2.0 or higher.

Textbook

Luna, Frank D. Introduction to 3D Game Programming with DirectX 11. Mercury Learning, 2012.

Frank Luna's supplementary materials.

Supplementary Reference

Braynzarsoft.net

Course Structure and Expectations

Class time will be spent primarily on discussion of reading topics and working on the labs and course projects. In general, I will avoid giving lectures. It is very important that you do the reading; otherwise, it will be difficult for the class time to be used effectively.

Completing the in-class labs is very important as they will lay the foundations you will need for the projects. If you do not complete a lab in class, I will expect you to complete it on your own outside of class.

As this is an advanced elective course, you will only get as much out of this course as you put into it.

Learning Outcomes

By the end of the semester you will be able to

Policies

Grades

Grades are assigned on a 100-point scale:

Numeric Range Letter Grade
90-100 A (4.0)
87-90 B+ (3.5)
80-87 B (3.0)
77-80 C+ (2.5)
70-77 C (2.0)
60-70 D (1.0)
0-60 F (0.0)

Your overall grade for the course will be determined as follows:

(†) The lecture material must consist of a document describing the details of the topic along with a well defined lab activity.

(*) The two course projects must be done individually and demonstrate incorporation of the various effects covered in class. Collaboration is encouraged for high-level conceptual discussions only. Sharing of code is expressly forbidden and will be considered academic dishonesty.

Course Website

Please check the course web page, http://ycpcs.github.io/cs470-fall2014/, regularly for important announcements.

Reading Assignments and Labs

Reading assignments are posted in the Schedule. Each reading assignment will be posted at least 1 week before the class in which the topic will be covered.

I expect you to do each reading before class.

Labs will be posted as zip files on the course web page, http://ycpcs.github.io/cs470-fall2014/labs.

Course Projects

This course will be primarily project based and contain two projects throughout the semester. The midterm project will be similar to the final project from CS370 to demonstrate the basic graphics concepts such as geometry, lighting, texture mapping, etc. using the DirectX 11 API. The final project will be more comprehensive to include advanced effects such as particle systems, stencil/accumulation buffer effects, shadow mapping, geometry shader effects, etc.

The grades for the projects will depend on how well each effect is utilized along with extension of the effects above and beyond what is provided in class. Students will be required to demonstrate both projects.

Academic Integrity

The college catalog states the following:

Academic dishonesty will not be tolerated at York College. Academic dishonesty refers to actions such as, but not limited to, cheating, plagiarism, fabrication of research, falsification of academic documents, etc., and includes all situations where students make use of the work of others and claim such work as their own.

Please refer to the college catalog for an explanation of the official college policies relating to academic integrity.

The following policy pertains to the projects for this course:

All graded projects are to be completed individually. I encourage you to discuss high level concepts and strategies with other students, but any work you submit must be yours alone.

Direct copying of code or other work from other students, web sites, or other sources is absolutely forbidden under any circumstances.

Any sources (books, websites, articles, fellow students, etc.) that you consult must be properly acknowledged. In general, I encourage you to use other resources beyond those given in class, however you must reference the source even if you have adapted the code.

Any violation of the course's academic integrity policy will be referred to the Dean of Academic Affairs, and could have consequences ranging from a 0 on an assignment to dismissal from the college.

Attendance and Participation

I expect you to attend class and participate regularly in class activities. If you miss a class, please notify me in advance. You are responsible for all material covered in class, regardless of whether or not you were present. If you attend and participate in class regularly, you can expect to receive full credit for attendance and participation. Frequent absence and/or lack of participation will reduce the credit you receive for attendance and participation. You are responsible for keeping up with the reading assignments.

Use of Personal Technology in the Classroom

While York College recognizes students’ need for educational and emergency-related technological devices such as laptops, PDA’s, cellular phones, etc., using them unethically or recreationally during class time is never appropriate. The college recognizes and supports faculty members’ authority to regulate in their classrooms student use of all electronic devices.

Communication Standards

York College recognizes the importance of effective communication in all disciplines and careers. Therefore, students are expected to competently analyze, synthesize, organize, and articulate course material in papers, examinations and presentations. In addition, students should know and use communication skills current to their field of study, recognize the need for revision as part of their writing process, and employ standard conventions of English usage in both writing and speaking. Students may be asked to further revise assignments that do not demonstrate effective use of these communication skills.

Disability Support Services

If you had an IEP or 504 plan in high school or if you have a disability or health condition that impacts you in the classroom, please contact Linda Miller, Director of Disability Support Services, at 815-1785 or lmille18@ycp.edu to discuss obtaining the accommodations for which you may be eligible. If you already have an accommodation memo and wish to access your accommodations in this class, please see me confidentially to discuss.

Disclaimer

This syllabus is subject to change by the instructor.