CAP 5725: Computer Graphics (Fall 2017)

Instructor
Sumanta Pattanaik
email: sumant@cs.ucf.edu
office: HEC# 218
Meeting Times and Place
Tuesdays and Thursdays 10:30 AM to 11:45 AM in HEC #111
Office Hours
Tuesdays and Thursdays: 9:00 AM to 10:15 AM at HEC# 218
Alternate Hours By Appointment
Pre-requisites
Computer Programming, OO Programming, Data Structure and Algorithms and Matrix Algebra. It is expected that you know basic geometry, algebra and basic knowledge of matrix algebra (addition/subtraction, multiplication, transpose, inversion).
Required Programming Background
This class is graphics programming intensive. You must have OO Programming experience.
In this class you will be programming in HTML, Javascript, WebGL 2.0 and GLSL!

NOTE: It is expected that the students have some undergraduate Graphics Programming background. In this class you will be introduced to graphics programming using WebGL at a pace sufficient for those with some graphics programming background.

Students completely unfamiliar to Graphics Programming, but wishing to continue in this class, must put extra effort to develop proficiency in graphics programming. Here are a couple of suggestions for those students:
  • Plan to audit our undergraduate class CAP 4720, where graphics programming using WebGL is covered in a slow and relaxed pace. The class timings are 6:00PM - 7:15PM on Tuesdays and Thursday. Classes are held at CB1 320.
  • Plan to follow WebGL tutorials from the resources listed below.
  • Take help from the Instructor during Office hours (i.e. Tuesdays and Thursdays 9:00AM to 10:15AM).
Required Text Books
Student must have access to one of the following two books:
- Physically Based Rendering, Third Edition From Theory To Implementation by Matt Pharr, Greg Humphreys
- Fundamentals of Computer Graphics 3rd Edition by Peter Shirley (Author), Michael Ashikhmin (Author), Steve Marschner
Recommended Text Books
- Interactive Computer Graphics with WebGL by Edward Angel, Dave Shreiner
- WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL by Matsuda and Lea
Required Computational Resource
A WebGL2.0 enabled browser (preferably Chrome or Firefox) running on any computing hardware (no restriction on the hardware). However, you need a text editor (such as Notepad++) to write and edit programs. The following pages will help you verify whether your browser supports WebGL2.0 or not. The student must make arrangement for this required computation resource.
Course Goal
This course will cover fundamental 3D Rendering with special emphasis on Realistic Lighting.
This course will review CG Math (Vector Algebra and Transformations that are at the foundation of all 3D graphics), introduce the students to GPU based Graphics Programming using WebGL2.0 (OpenGL ES3.0) and Javascript. The course will also present more advanced math needed as it becomes necessary.

Topics
Given below is a tentative list of topics to be covered during the course. These topics are to be viewed as general guidelines. The list is not final and will be adjusted as necessary. (This list does not show the exact order of the lectures.)
Resources for the class
WebGL
Javascript
HTML
General Policies
UCF's Golden Rule: As reflected in the UCF creed, integrity and scholarship are core values that should guide our conduct and decisions as members of the UCF community. Plagiarism and cheating contradict these values, and so are very serious academic offenses. Penalties can include a failing grade in an assignment or in the course, or suspension or expulsion from the university. Students are expected to familiarize themselves with and follow the University’s Rules of Conduct (see http://www.goldenrule.sdes.ucf.edu/).
Student's Academic Activity Verification Policy: All faculty members are required to document students' academic activity at the beginning of each course. In order to document that you began this course, make sure to complete the first assignment by the by the end of the week (Aug 26).
Evaluation
The progress of the student will be evaluated through regular programming assignments, and exams.
Total Points : 100
The class will use +/- system for grading.
A Rough Guideline for Points to grade conversion:
Short Exam Policies
Programming Assignment Policies
Important Dates
Date Day Event
Aug 22 Tuesday First Day
Sep 26 Tuesday Instructor away in DC for a Conference
Nov 23 Thursday Thanksgiving Holiday
Nov 30 Thursday Last Class day
Dec 4-9 Check Exam Date Final Exam Period