Computer graphics is an important topic
with numerous applications in all areas of computer science.
As a corner stone to interactive user interfaces and games,
computer graphics techniques are utilized in everyday computer
operation. Common uses of computer graphics techniques include
engineering, scientific, and entertainment applications such
as: computer aided design, analysis and visualization of data,
visual simulation and monitoring of complex processes,
animation and special effects, movie productions, and computer
games. Computer graphics techniques also play a fundamental
role in web and multimedia computing, enabling interactive
webpages and vector graphics in documents.
The course covers the following topics: Overview of computer
graphics hardware and software; Introduction to graphics
programming with WebGL; Raster graphics; 2D modeling and
viewing; Curve and surface interpolation; Introduction to 3D
Rendering with WebGL; 3D Modeling and viewing; Illumination
models and surface rendering; Animation. Programming
assignments in the course will use WebGL which is a version of
OpenGL that can run on web browsers and is very similar to
OpenGL ES which is an OpenGL version intended for mobile
platforms such as Android and IOS. Prior knowledge of WebGL is
not required as it will be taught in the course.
Grant Nikseresht
SB-110, x7-5705
Office hours:
Tuesday, Thursday 3:00-5:00pm
CS-411-01: (PS-121)
CS-411-02: (Internet)
CS-411-03: (Internet)
Class hours:
Tuesday, Thursday
5:00-6:15pm
Computer graphics can be covered at different levels. The
focus of this course is the understanding of algorithms and
techniques used in computer graphics. Students in the course
are expected to write computer programs implementing
different techniques taught in the course. The course
requires mathematical background and some programming
experience. This course does not intend to teach how
to use a specific graphics application software such as 3ds
Max. While a graphics API (WebGL) is used in the course it
is by no means the primary goal of this course.
name
|
comment
|
weight
|
participation
|
up to 4 unjustified
missed classes and all quizzes ⇒ full credit
|
5%
|
assignments
|
5-7 assignments
|
35%
|
midterm exam
|
open notes (1 double
sided 8.5x11 page)
|
15%
|
final exam
|
open notes (2 double
sided 8.5x11 pages)
|
45%
|
total
|
|
100%
|
class | date | topic | assignment |
1 | 08/20 | Introduction to computer graphics | AS0 |
2 | 08/22 | Introduction to JavaScript and WebGL | |
3 | 08/27 | ||
4 | 08/29 | Raster graphics | AS1 |
5 | 09/03 | ||
6 | 09/05 | 2D modeling and viewing | |
7 | 09/10 | ||
8 | 09/12 | AS2 | |
9 | 09/17 | Curve and surface representation | |
10 | 09/19 | ||
11 | 09/24 | ||
12 | 09/26 | Introduction to 3D rendering | AS3 |
13 | 10/01 | ||
14 | 10/03 | Midterm | |
15 | 10/08 | ||
16 | 10/10 | 3D modeling and viewing | |
17 | 10/15 | AS4 | |
18 | 10/17 | ||
19 | 10/22 | 3D object representation | |
20 | 10/24 | ||
21 | 10/29 | AS5 | |
22 | 10/31 | Color, Illumination models, and surface rendering | |
23 | 11/05 | ||
24 | 11/07 | ||
25 | 11/12 | Global illumination | AS6 |
26 | 11/14 | ||
27 | 11/19 | ||
28 | 11/21 | Animation | AS7 |
29 | 11/26 | ||
30 | 11/28 | No class (Thanksgiving) | |
31 | 12/03 | Final exam: PS-121 5-7pm (pending approval by registrar) |
Videos of lectures are available through blackboard
Topic | Reading |
Introduction to computer graphics | Ch. 1 |
Introduction to graphics programming with WebGL | Ch. 2-3 |
Raster graphics | Ch. 8 |
2D modeling and viewing | Ch. 4 |
Curve and surface interpolation | Ch 11 |
Introduction to 3D Rendering with WebGL | Ch. 4 |
3D modeling and viewing | Ch. 5 |
3D object representation and
animation |
Ch 9 |
Color, illumination models, and surface rendering | Ch. 6-7,12 |
Assignment | Description | Data | Weight | Due date | |
assignment 1 |
raster
graphics |
N/A |
5% | ||
assignment 2 |
2d
modeling/viewing |
N/A |
5% | ||
assignment 3 |
spline
curves/surfaces |
N/A |
5% | ||
assignment 4 |
3d rendering | object files | 5% | ||
assignment 5 |
illumination
models |
|
5% | ||
assignment 6 |
TBD |
object files | 5% | ||
assignment 7 |
TBD |
object files | 5% |
Additional assignments:
Software
Documents
|
C++ IDE
Papers
Models
|