C O M P U T E R G R A P H I C S Guoying Zhao 1 / 16 Computer Graphics Course Introduction
C O M P U T E R G R A P H I C S Guoying Zhao 2 / 16 Your Staff Dr. Guoying Zhao office: TS302 - phone: Thur. 3-4pm TAs: –Dr. Jie Chen (Lab exercises) TS329 –Pekka Koskenkorva (Exercises) TS336
C O M P U T E R G R A P H I C S Guoying Zhao 3 / 16 3 Objectives Broad introduction to Computer Graphics –Software –Hardware –Applications OpenGL
C O M P U T E R G R A P H I C S Guoying Zhao 4 / 16 4 Prerequisites Good programming skills in C (or C++) Basic Data Structures –Linked lists –Arrays Geometry Simple Linear Algebra
C O M P U T E R G R A P H I C S Guoying Zhao 5 / 16 History and evolution of computer graphics Graphics API (OpenGL) for implementation 3D computer graphics algorithms – Geometry – Transformations – Viewing – Shading 2D graphics including – Line drawing – Polygon filling – Clipping Hierarchical modeling Bird’s Eye View of the Course
C O M P U T E R G R A P H I C S Guoying Zhao 6 / 16 6 Outline: Part 1 Part 1: Introduction Text: Chapter 1 Lectures 1-2 –What is Computer Graphics? –Applications Areas –History –Image formation –Basic Architecture
C O M P U T E R G R A P H I C S Guoying Zhao 7 / 16 7 Outline: Part 2 Part 2: Basic OpenGL Text: Chapters 2-3 Lectures 3-4 –Architecture –GLUT –Simple programs in two and three dimensions –Interaction
C O M P U T E R G R A P H I C S Guoying Zhao 8 / 16 8 Outline: Part 3 Part 3: Three-Dimensional Graphics Text: Chapters 4-6 Lectures 5-10 –Geometry –Transformations –Homogeneous Coordinates –Viewing –Shading
C O M P U T E R G R A P H I C S Guoying Zhao 9 / 16 9 Outline: Part 4 Part 4: Implementation Text: Chapter 7 Lectures: –Approaches (object vs image space) –Implementing the pipeline –Clipping –Line drawing –Polygon Fill –Display issues (color)
C O M P U T E R G R A P H I C S Guoying Zhao 10 / Outline: Part 5 Part 5: Hierarchy and Procedural Methods Text: Chapters Lectures: Tree Structured Models –Traversal Methods –Scene Graphs –Particle Systems
C O M P U T E R G R A P H I C S Guoying Zhao 11 / 16 Schedule Lecture 1: Mon Lecture 2: Wed Lecture 3 Lecture 4 (First HW out) Lab intro Lecture 5 Exercise 1 Lecture 6 Lecture 7 Lecture Wed: TS126 Exercise 2 Lecture 9 Lecture 10 Lecture 11 Exercise 3 Lecture 12 ( Third HW out; Second due ) Lecture 13 Exercise 4 Lecture 14 Exercise 5 (Fourth HW out; Third due) Exam: May 28 th, 2-5pm, L1 Exceptions: Week 10: Mar. 8 th, 10 th ; Easter holiday: Mar. 31 st, Apr. 5 th. (Second HW out; First due)
C O M P U T E R G R A P H I C S Guoying Zhao 12 / 16 Course syllabus (online) –assignment deadlines and lecture topics are subject to change Collaboration Policy –all work must be your own –violations will not be tolerated Handouts and Handins
C O M P U T E R G R A P H I C S Guoying Zhao 13 / 16 Course studying Studying this course consists of three parts: self-study with the book following the lecture doing the assignment work
C O M P U T E R G R A P H I C S Guoying Zhao 14 / 16 Homework The programming work has to be done with the OpenGL graphics library. Programs are to be written in the C++ programming language. –which ensures that you understand the concepts. 1. Basic C++ and OpenGL: keyboard, mouse; 2. Polygons (patches, polygons) and lighting 3. Drawings using OpenGL (or MFC): points, lines, circles; Polygon filling 4. Robot
C O M P U T E R G R A P H I C S Guoying Zhao 15 / 16 Grading Participants have to pass both written exam (50%) and practical programming assignments (50%) separately to finally get the credit points. Note: present to at least 10 lectures from total 14 lectures and 3 from in total 6 exercise and lab classes.
C O M P U T E R G R A P H I C S Guoying Zhao 16 / 16 Helpful references Edward Angel: Interactive Computer Graphics, 5th, Addison-Wesley 2008 (textbook) Peter Shirley, Michael Ashikhmin, Michael Gleicher, et al. : Fundamentals of Computer Graphics, second edition, AK Peters, Ltd Lecture notes (in English): from Edward Angel and get the permission to use them in our course; OpenGL Programming Guide or 'The Red Book‘: OpenGL Video Tutorial: