Thursday, February 6, 2014

Computer Graphics

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
Course Overview ( PDF - 1.1MB)
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.
Quiz 1 (PDF)
Quiz 2 (PDF)

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

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

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

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

9-10. Chapter 3
Lighting: OpenGL color mode and interpolation, OpenGL lighting for a point
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

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

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

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)
   [ pdf ]
Lecture 7 (part II) [ pdf ]
Week 8 Slides
Lecture 8 (part I)
   [ pdf ]
Lecture 8 (part II) [ pdf ]
Week 9 Slides
Lecture 9 (part I)
   [ pdf ]
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 ]

Computer Graphics Lectures

( CLICK TO DOWNLOAD LECTURES)

  1. INTRODUCTION PPT PDF
  2. MECHANICS PPT PDF
  3. WPF 2D PPT PDF
  4. WPF 3D PPT PDF
  5. SHAPES PPT PDF
  6. TRANSFORMATIONS PPT PDF
  7. VIEWING 1 PPT PDF
  8. VIEWING 2 PPT PDF
  9. VIEWING 3 PPT PDF
  10. SCAN CONVERSION 1 PPT PDF
  11. SCAN CONVERSION 2 PPT PDF
  12. CLIPPING PPT PDF
  13. VISIBLE SURFACE DETERMINATION PPT PDF
  14. COLOR 1 PPT PDF
  15. COLOR 2 PPT PDF
  16. IMAGE PROCESSING 1 PPT PDF
  17. IMAGE PROCESSING 2 PPT PDF
  18. PHOTOREALISM PPT PDF
  19. ILLUMINATION PPT PDF
  20. RAYTRACING PPT PDF
  21. POLYGON RENDERING PPT PDF
  22. ACCELERATION DATA STRUCTURES PPT PDF
  23. RADIOSITY PPT PDF
  24. UI 1 PPT PDF
  25. UI 2 PPT PDF
  26. OPEN GL PPT PDF