CENG 477 COMPUTER GRAPHICS

METU, Department of Computer Engineering

Fall 2022 Syllabus

 

Instructors:

      Section 1 - Prof. Dr. Ahmet Oğuz Akyüz - akyuz@ceng.metu.edu.tr - Office: B210

      Section 2 - Doç. Dr. Yusuf Sahillioğlu - ys@ceng.metu.edu.tr - Office: B107

 

Teaching Assistants:

      Yusuf Mücahit Çetinkaya - yusufc@ceng.metu.edu.trOffice: A210

      Arif Görkem Özer - gorkem@ceng.metu.edu.tr – Office: A210

      Emre Külah - kulah@ceng.metu.edu.tr – Office: A210

 

Schedule:

      Section 1: Monday 13:40-14:30 BMB1, Wednesday 08:40-10:30 BMB1

      Section 2: Tuesday 12:40-13:30 BMB4, Wednesday 10:40-12:30 BMB4

 

Course Description:

Hardware and software components of graphics systems. Output and filled data primitives. 2D and 3D geometric transformations. Two dimensional viewing: viewing pipeline, clipping, and windowing. Three dimensional viewing: viewing pipeline, viewing parameters, projections, viewing transformations, clipping, visible surface detection. Introduction to illumination models and surface rendering.

 

Course Objectives:

CENG 477 Introduction to Computer Graphics introduces the basic concepts of computer graphics and raster based methods. It also provides the necessary theoretical background for introductory computer graphics and demonstrates the application of computer science to graphics. It also offers an opportunity for students to formulate and implement applications of computer graphics. This course further allows students to develop programming skills in computer graphics by programming assignments.

 

Prerequisites:

None (C/C++ programming, basic linear algebra and analytic geometry knowledge are required)

 

Text book:

Peter Shirley and Steve Marschner, "Fundamentals of Computer Graphics", 3rd Edition, AK Peters, 2009, ISBN 978-1568814698

 

Reference Books:

      Donald D. Hearn and M. Pauline Baker, "Computer Graphics with OpenGL", 3rd Edition, Prentice Hall, 2004, ISBN 978-0130153906

      James D. Foley, Andries van Dam, Steven K. Feiner, and John F. Hughes, "Computer Graphics: Principles and Practice", 2nd Edition, Addison Wesley, 1995, ISBN 978-0201848403

      Mike Bailey and Steve Cunningham, "Graphics Shaders", A K Peters, 2009, ISBN 978-1568813349

      Peter Shirley and R. Keith Morley, "Realistic Ray Tracing", 2nd Edition, A K Peters, 2003, ISBN 978-1568814612

      Kevin Suffern, "Ray Tracing from the Ground Up", A K Peters, 2007, ISBN 978-1568812724

 

Grading:

      Programming Assignments: 36% (12% each)

      Midterm: 30%

      Final: 34%

 

Programming Assignment Policies:

       We have a flexible late submission policy. You have a credit of 7 late days. You can distribute this to your assignments without exceeding 3 days per assignment. No late submission is possible after 3 days or if you have used up your credit.

       Programming assignment cannot be postponed except for critical changes to the assignment specifications and/or extended system failure in the department computers.

       Can be done in pairs or individually

 

Cheating Policy:

No code sharing allowed between students (current or past years). Using code from the Internet is only allowed if explicitly specified in the assignment text. Cheating attempts will be graded as zero and forwarded to the university’s disciplinary actions committee.

 

Course Outline:

Week

Topic

Book Chapter

Notes

1

Introduction, images, displays, human vision, and color

1, 3

 

2

Geometry in ray tracing

2, 4, 5

 

3

Shading in ray tracing

4, 13

HW1: Ray tracing

4

Texture mapping and data structures for graphics

11, 12

 

5

Modeling transformations

6

 

6

Viewing transformations

7

 

7

Forward rendering pipeline (overview, culling, clipping)

8

 

8

Forward rendering pipeline (rasterization, texture mapping, hidden surf. rem.)

8

Midterm

HW2: Forward pipeline

9

Introduction to GPUs and OpenGL

18

 

10

Vertex and fragment shaders

10, 18

Recitation: OpenGL setup and shaders

 

11

Buffers, textures, and shadows

11

HW3: OpenGL with shaders

 

12

Curves and surfaces

15

 

13

Computer animation

17

 

14

Recap and future directions