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.

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.

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.

Short exams will be held frequently (may be held during class hours or assigned as take home).

The exams held in class will be of closed book nature.

The questions will be on the theoretical and programming concepts covered in the class and in the assignments.

In general, there will be no make up for the exam. Students missing an exam will receive a zero grade for that exam.

Programming Assignment Policies

The practice assignments may be discussed with others, and with the instructor, but must be completed and submitted individually.

Practice assignment difficulty level will increase as the semester progresses.

The practice assignments must be turned in by deadline date and time, mostly set to 10:25 am of the date (just before the class time).

The major project must be completed and demoed on or before our last class day (Nov 30).
The project will be discussed in the class and
the students will be required to submit a regular biweekly update about the progress in the project.

Assignment and project submission is through WebCourses.

No late submission allowed.

All programming assignments must be done in HTML and Javascript using WebGL as Graphics API.