**(FALL 2021-2022)**

**Instructor:** Ugur Güdükbay (Room 403)

**Office Hours:** Tuesday 10:30-11:20, Thursday 09:30-10:20

**Course Assistant:** Sinan Sonlu (e-mail: sinan.sonlu@bilkent.edu.tr)

**Assistant's Office Hours:** Wednesday 10:30-12:30 (EA405). Other times by appointment with e-mail.

**Class Schedule:**

Monday 15:30-16:20 (EB-103), 16:30-17:20 (EB-103) (Spare Hour); Thursday 10:30, 11:20 (EB-103), 11:30, 12:20 (EB-103)

**Course Homepage:** http://www.cs.bilkent.edu.tr/~gudukbay/cs465/

Please visit the course homepage frequently to see the announcements about the course and assignments.

**OBJECTIVES**

To provide the students with a theoretical and practical knowledge of computer graphics techniques, including the following:

- Learn the basic rendering pipeline and rasterization (line drawing, clipping, polygon filling etc.) algorithms.
- Learn the basic two dimensional and three dimensional transformations and apply them as a modeling tool for constructing scenes.
- Learn hierarchical modeling and apply it to model and animate articulated structures, such as humans and robots.
- Learn basic rendering techniques and apply them to generate photorealistic images of three dimensional scenes.
- Learn basic geometric modeling techniques for modeling curves, surfaces, and solids.
- Learn three dimensional viewing and projection techniques and apply them to generate two dimensional images of three dimensional scenes.
- Design and implement a simple drawing program to apply various concepts learned in the class.
- Design and implement a hierarchical modeling program to model and animate articulated structures.
- Design and implement a program to implement a simple geometric modeling and rendering tool to model geometric objects and display them in wireframe, shaded and textured forms.

**COURSE OUTLINE**

- Graphics Systems and Models
- Graphics Programming
- Geometric Objects and Transformations
- Viewing
- Lighting and Shading
- Rasterization: From Vertices to Fragments
- Discrete Techniques
- Modeling and Hierarchies
- Curves and Surfaces
- Advanced Rendering

**Main Textbook:**

**Course Lecture Slides (7th Edition: Shader-based WebGL) **. (Only accessible within Bilkent University).

**Course Lecture Slides (6th Edition: Shader-based OpenGL)**. (Only accessible within Bilkent University).

**Other Texts and Sources**

- Edward Angel and Dave Shreiner, Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL, 6th Edition, Addison-Wesley, 2012.
- D. Hearn, P. Baker, and W. Carithers, Computer Graphics with OpenGL, 4th Edition, Prentice Hall, 2011.
- F. Hughes, A. van Dam, M. McGuire, D. F. Sklar, J. D. Foley, S. K. Feiner, K. Akeley, Computer Graphics: Principles and Practice, 3rd Edition, Addison-Wesley, 2014.
- David F. Rogers, Procedural Elements for Computer Graphics, 2nd edition, McGraw-Hill, 1998.
- David F. Rogers and Alan Adams, Mathematical Elements for Computer Graphics, McGraw-Hill, 1990.

Midterm (20 %), Final (20 %), Programming Assignments (60 %)

There will be three programming assignments that must be done individually.

You must use Web GL or Shader-based OpenGL on PCs (with Visual C++). For other languages/platforms, you have to set up your own environment and make necessary arrangements for the demonstrations.

Thursday September 01 14:01:24 EET DST 2021