Course Description
This course offers an introduction to computer graphics hardware, algorithms, and software. Topics include: line generators, affine transformations, line and polygon clipping, splines, interactive techniques, perspective projection, solid modeling, hidden surface algorithms, lighting models, shading, and animation. Substantial programming experience is required. This course is worth 6 Engineering Design Points.
Technical Requirements
Any number of development tools can be used to compile and run the .C and .h files found on this course site. Any number of graphics applications can import the .obj files found on this course site. Please refer to the course materials for any specific instructions or recommendations.
Lecture Notes
LEC #
|
TOPICS
|
1
|
C++ Tutorial (PDF)
|
2
|
Ray Casting 1: Generation and Intersection (PDF - 1.2 MB)
|
3
|
Ray Casting 2: More Intersection (PDF - 1.7 MB)
|
4
|
Transformations 1: Translation, Rotation and Scale (PDF - 1.0 MB)
|
5
|
Transformations 2: In Modeling (PDF - 1.7 MB)
Linear Algebra Tutorial (PDF)
|
6
|
Ray Tracing (PDF - 2.4 MB)
|
7
|
Local Illumination (PDF)
|
8
|
Acceleration Data Structures (PDF - 3.9 MB)
|
9
|
Curves and Surfaces (PDF - 3.2 MB)
|
10
|
Animation 1: Interpolation and Kinematics (PDF)
|
11
|
Animation 2: Orientation and Quaternions (PDF)
|
12
|
Animation 3: Dynamics (PDF - 1.7 MB)
|
13
|
Graphics Pipeline 1: Perspective Transformations
(PDF - 1.1 MB) |
14
|
Graphics Pipeline 2: Line Clipping and Rasterization (PDF)
|
15
|
Graphics Pipeline 3: Polygon Rasterization (PDF)
|
16
|
Graphics Pipeline 4: Polygon Clipping
(PDF - 3.1 MB) |
17
|
Shadows (PDF - 3.1 MB)
|
18
|
Global Illumination: Radiosity (PDF - 2.7 MB)
|
19
|
Monte Carlo Ray Tracing (PDF - 3.4 MB)
|
20
|
Color 1: Color Vision and Color Spaces (PDF - 2.3 MB) (Courtesy of Victor Ostromoukhov. Used with permission.)
|
21
|
Color 2: Color Effects and Production (PDF - 2.6 MB) (Courtesy of Victor Ostromoukhov. Used with permission.)
|
22
|
Texture Mapping (PDF - 3.6 MB)
|
23
|
Sampling, Aliasing and MIP Mapping
(PDF - 2.0 MB) |
Exams
Quiz 1 is given after lecture 9 and Quiz 2 is given after lecture 20, as shown in the calendar. Both quizzes are provided below.
Introduction to Computer Graphics and OpenGL Programming in Java/JOGL or C/C++
(Clickt to Download PPT)
2. Chapter 1 (1.1, 1.2, and 1.3)
Intro: display, object, model, image, primitive, graphics library, OpenGL programming, system
Hardware: raster display system and some basic terminologies
Hardware: raster display system and some basic terminologies
3-4. Chapter 1 (1.3 and 1.4)
OpenGL: OpenGL, related libraries (glut, glu, etc.), double buffering
Raster: scan-conversion, characters, clipping
Attributes: primitive attributes, antialiasing, animation, circle subdivision
Raster: scan-conversion, characters, clipping
Attributes: primitive attributes, antialiasing, animation, circle subdivision
5-6. Chapter 2 (basics: 2.3.3, 2.3.4, 2.3.5; 2.1 and 2.2)
3D models: OpenGL primitives, hidden-surface removal, back-face culling, cone, cylinder, sphere, collision detection
2D transform: 2D translate, scale, rotate, homogeneous coordinates, composition of transformation
2D transform: 2D translate, scale, rotate, homogeneous coordinates, composition of transformation
7-8. Chapter 2 (2.3 and 2.4)
3D transform: 3D translate, scale, rotate, 3D composition of transformation, OpenGL implementation, examples
Viewing: 2D viweing, 3D viewing methods, OpenGL viewing methods, implementation, and programming
Viewing: 2D viweing, 3D viewing methods, OpenGL viewing methods, implementation, and programming
9-10. Chapter 3
Lighting: OpenGL color mode and interpolation, OpenGL lighting for a point
Shading: polygon shading methods, problems with interpolated shading, raytracing
Shading: polygon shading methods, problems with interpolated shading, raytracing
11-12. Chapter 4
Blending: transparency, antialiasing, fog
Image: OpenGL images, framebuffer access
Texture mapping: OpenGL texture mapping, texture coordinates calculations
Image: OpenGL images, framebuffer access
Texture mapping: OpenGL texture mapping, texture coordinates calculations
13-14. Chapter 5
Optional materials: choose from the following
Display list: immediate mode and display list for better efficiency
Color: olor theory and human color perception characteristics
Computer color: more on RGB and CMY
Curves: understand cubic curves
Surfaces: bi-cubic surfaces
Color: olor theory and human color perception characteristics
Computer color: more on RGB and CMY
Curves: understand cubic curves
Surfaces: bi-cubic surfaces
Graphics Lectures
(Click to Download PPT)
Graphics 1: Introduction to Computer Graphics ppt
Graphics 2: Maths Preliminaries ppt
Graphics 3: 2D Transformations ppt
Graphics 4: Viewing in 2D ppt
Graphics 5: Scan Converting Lines ppt
Graphics 6: Scan Converting More Lines, Circles & Polygons ppt
Graphics 7: Viewing in 3-D ppt
Graphics 8: Perspective Projections ppt
Graphics 9: Clipping in 3-D ppt
Graphics 10: 3-D Object Representations 1 ppt
Graphics 11: 3-D Object Representations 2 ppt
Graphics 12: Spline Representations 1 ppt
Graphics 13: Spline Representations 2 ppt
Graphics 14: Surface Detection Methods ppt
Graphics 15: Surface Detection Methods 2 ppt
Graphics 16: Illumination ppt
Graphics 17: Shading ppt
Graphics 18: Ray Tracing ppt
Graphics 19: Revision ppt
Graphics 1: Introduction to Computer Graphics ppt
Graphics 2: Maths Preliminaries ppt
Graphics 3: 2D Transformations ppt
Graphics 4: Viewing in 2D ppt
Graphics 5: Scan Converting Lines ppt
Graphics 6: Scan Converting More Lines, Circles & Polygons ppt
Graphics 7: Viewing in 3-D ppt
Graphics 8: Perspective Projections ppt
Graphics 9: Clipping in 3-D ppt
Graphics 10: 3-D Object Representations 1 ppt
Graphics 11: 3-D Object Representations 2 ppt
Graphics 12: Spline Representations 1 ppt
Graphics 13: Spline Representations 2 ppt
Graphics 14: Surface Detection Methods ppt
Graphics 15: Surface Detection Methods 2 ppt
Graphics 16: Illumination ppt
Graphics 17: Shading ppt
Graphics 18: Ray Tracing ppt
Graphics 19: Revision ppt
Computer Graphics Slides
Click to download PDF Slides
| |||
Week 1 Slides
|
Lecture 1 (part I) [ pdf ]
|
Lecture 1 (part II) [ pdf ]
|
Lecture 1 (part III) [ pdf ]
|
Week 2 Slides
|
Lecture 2 (part I) [ pdf ]
|
Lecture 2 (part II) [ pdf ]
| |
Week 3 Slides
|
Lecture 3 (part I) [ pdf ]
|
Lecture 3 (part II) [ pdf ]
|
Lecture 3 (part III) [ pdf ]
|
Week 4 Slides
|
Lecture 4 (part I) [ pdf ]
|
Lecture 4 (part II) [ pdf ]
| |
Week 5 Slides
|
Lecture 5 (part I) [ pdf ]
|
Lecture 5 (part II) [ pdf ]
|
Introduction to GL Shading Language [ pdf ]
|
Week 6 Slides
|
Lecture 6 [ pdf ]
| ||
Week 7 Slides
|
Lecture 7 (part I)
|
Lecture 7 (part II) [ pdf ]
| |
Week 8 Slides
|
Lecture 8 (part I)
|
Lecture 8 (part II) [ pdf ]
| |
Week 9 Slides
|
Lecture 9 (part I)
|
Lecture 9 (part II) [ pdf ]
|
Lecture 9 (part III) [ pdf ]
|
Week 10 Slides
|
Lecture 10(partI) [ pdf ]
|
Lecture 10 (part II) [ pdf ]
| |
Week 11 Slides
|
Lecture 11(part I) [ pdf ]
| ||
Week 12 Slides
|
Lecture 12 [ pdf ]
|
Lecture 13 [ pdf ]
|
Final Review [ pdf ]
|