Syllabus in PDF form - METU Computer Engineering

advertisement
CENG 477 COMPUTER GRAPHICS
METU, Department of Computer Engineering
Fall 2015 Syllabus
Instructors:
⁃
⁃
Section 1 - Ahmet Oğuz Akyüz - akyuz@ceng.metu.edu.tr - Office: B210
Section 2 - Tolga CAN - tcan@ceng.metu.edu.tr - Office: B109
Teaching Assistants:
⁃
⁃
⁃
Arınç Elhan - arinc@ceng.metu.edu.tr - Room: BZ-19
Levent Eksert - eksert@ceng.metu.edu.tr - Room: A301
Mehmet Çelik - mçelik@ceng.metu.edu.tr - Room: A402
Schedule:
⁃
⁃
Section 1: Thursday 13:40-14:30 BMB1, Friday 11:40-13:30 BMB1
Section 2: Wednesday 08:40-10:30 BMB1, Thursday 9:40-10:30 BMB1
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,
A K 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 9781568812724
Grading:
⁃
⁃
⁃
⁃
Programming Assignments: 30% (7.5% each)
Midterm 1: 20%
Midterm 2: 20%
Final: 30%
Programming Assignment Policies:
⁃
⁃
⁃
Programming assignments can be done in groups (2 students per group)
Each programming assignment can be submitted up to 3 days late. Each late day
incurs a penalty of 10 points.
Programming assignment will not be postponed except for a system failure in the
department computers.
Cheating Policy:
No joint work between different groups is allowed in assignments. Cheating groups will
be punished according to the university regulations.
Course Outline: (Tentative)
Week 1
Introduction (goals) – 1 hr
Images, displays, and human vision – 2 hr
- Image properties
- File formats and encodings
- Color spaces
- Gamma and gamma correction
- Luminance
- Human visual system
Weeks 2 – 3
Recitation 1: Math review (vectors, matrices, linear algebra, lines, ...)
Ray tracing – 6 hrs (HW1 on Basic Ray Tracing assigned at the end of third week: duration 2
weeks)
- Camera/image plane properties
- Ray equations
- Ray sphere/triangle intersections (barycentric coordinates)
- Surface shading (diffuse, specular, ambient)
- Shadows
- Recursive ray tracing (reflective, transparent materials)
Week 4
Texture Mapping in Ray Tracing
- Texture mapping a sphere (to show the idea of parameterizing a 3D surface with 2
parameters)
- Texture mapping a triangle (using barycentric coordinates)
- Nearest neighbor, bi-linear interpolation
Week 5
Modeling Transformations in Ray Tracing – 2 hr
- Hierarchy of transformations (rigid body, uniform, affine, projective),
- Translation (homogeneous coordinates)
- Scaling
- Rotation (all in 3D)
Week 6
Midterm 1 on Ray Tracing
(HW2 on Texture Mapping and Transformations in Ray Tracing assigned at the end of
sixth week: duration 2 weeks)
Data structures for speeding-up ray tracing
Week 7
Recitation 2: OpenGL introduction
Introduction to Fixed Function Pipeline
Transformations in OpenGL
Viewing – 3 hrs
- External camera transformations (duality with model transformations)
- Orthographic projection
- Perspective projection
- Viewport transformation
Week 8
Rasterization – 3 hr
- Line rasterization
- Triangle rasterization
- Interpolation of vertex attributes
Week 9
Shading (Flat, Gouraud, Phong) – 2 hrs (HW3 on Rendering in OpenGL assigned at the end of
ninth week: duration 2 weeks)
Texture mapping in OpenGL – 1 hr
Weeks 10 - 11
Midterm 2 on OpenGL
Recitation 3: OpenGL shaders
Shaders (vertex and pixel shaders) – 5 hrs
Vertex arrays, buffers, indexed rendering – 1hr
Weeks 12-13
Shadows (HW4 on Shadow Mapping assigned at the end of the twelfth week: duration 2
weeks)
- Depth buffer
- Shadow mapping
Week 14
Graphics in the real world
- Blender
- Unity
Download