EPL426: Computer Graphics

Instructor: Andreas Aristidou
Type: Undergraduate (Restricted Choice)
Prerequisite: EPL232 - Programming Tools and Applications
Lectures A: Tuesday & Friday, 10:30-12:00 (ΘΕΕ01 #147)
Recitations: Wednesday, 11:00-12:00 (ΧΩΔ01 #002)
Laboratory: Wednesday, 18:00-19:30 (ΘΕΕ01 #Β121)
Teaching Assistants: Andreas Andreou


The course teaches the basic principles of computer graphics. The course familiriazes students with the concepts of scene construction, scene hierarchies, camera specification, projections of primitives, clipping, visible surface determination, polygon rasterisation (z-buffer), texture mapping, local and global illumination, shadows, ray tracing, radiosity, real-time acceleration techniques. Provision of both the theoretical foundations as well as practical skills through the use of industry standards, such as OpenGL and the Unity game engine.
You can download the syllabus of the course here...


Sign-up now to Moodle using code handed out in class!

Course Schedule and Lectures

  1. Introduction to Graphics: Syllabus & Basics Course Objectives and Syllabus.
    [PDF in GR | 15.90 MB] [PDF in EN | 15.73 MB]
  2. Math Preliminaries: Linear Algebra Coordinate systems, points, vectors, lines, planes, circles, spheres, matrices, matrix operations.
    [PDF in GR | 2.16 MB] [PDF in EN | 2.04 MB]
  3. Math Preliminaries: Geometric Transformations 2D and 3D Translation, Scaling, Rotations, Homogeneous Transformations, Gimbal Lock, Inverse Transformations, Pivot Rotations.
    [PDF in GR | 2.95 MB] [PDF in EN | 2.07 MB]
    Notes from Adries van Dam on Transformations [PPT in EN | 0.51 MB]
  4. Scene Graph Transformations and the scene graph.
    [PDF in GR | 1.04 MB] [PDF in GR | 0.86 MB]
  5. Revision Questions [PDF in GR | 0.21 MB] [PDF in EN | - MB]
  6. Polygons 3D Object Representations, Polyhedra, Quadric surfaces, Sweep representations, Constructive solid geometry methods.
    [PDF in GR | 3.98 MB] [PDF in EN | 2.38 MB]
  7. Camera World Coordinates, Object Coordinates, Camera Coordinate System, Specifying The View Coordinates, Transformation From World To Viewing Coordinates.
    [PDF in GR | 0.90 MB] [PDF in EN | 0.72 MB]
  8. Viewing, Projections Viewing, The Synthetic Camera, History of projection in art, The pinhole model, View Volumes, The film plane, Projections: Parallel Projections, Perspective Projections, The viewport, Constructing the view volume, Aspect Ratio, View Angle, Near and Far Clipping Planes, Focal Length.
    [PDF in GR | 3.85 MB] [PDF in EN | 3.85 MB]
  9. Clipping 2D Clipping, Polygons Clipping, 3D Clipping.
    [PDF in GR | 1.57 MB] [PDF in EN | 1.46 MB]
  10. Scan Conversion: Lines, Circles and Polygons Line Drawing Algorithms, The DDA Algorithm, The Bresenham Line Algorithm, Circle Drawing Algorithms Mid-Point Circle Algorithm, Spline Representations, Bézier curves, Filling Polygons, Scan-Line Polygon.
    [PDF in GR | 1.46 MB] [PDF in EN | 1.42 MB]
  11. Revision Questions [PDF in GR | 0.34 MB] [PDF in EN | 3.85 MB]
  12. Visible Surface Determination Back-face culling, Visible Surface Determination, Depth-Buffer (Z-buffer, A-buffer), Depth-Sorting Method (Painter’s Algorithm).
    [PDF in GR | 1.09 MB] [PDF in EN | 1.05 MB]
  13. Local Illumination Light Sources, Material Properties, Illumination Model, Direct Illumination Indirect Illumination, Full Illumination, Point Light Sources, Radial Intensity Attenuation, Directional Light Sources & Spotlights, Angular Intensity Attenuation, Surface Lighting Effects, Diffuse Reflection, Specular Reflection, Ambient Light, Phong Shading Model, Transparency.
    [PDF in GR | 3.57 MB] [PDF in EN | 3.54 MB]
  14. Polygonal Rasterization Rendering Techniques Flat surface rendering, Gouraud surface rendering, Phong surface rendering.
    [PDF in GR | 2.22 MB] [PDF in EN | 2.19 MB]
  15. Colors & Rayshoot Colors, Vision, Visual processing of perception, Human Visual System, Relative Luminous Efficiency, Color representation, RGB, CMYK, HSL. Introduction to Ray Shooting / Casting, Pinhole, Painting metaphor.
    [PDF in GR | 4.41 MB] [PDF in EN | 4.34 MB]
  16. Revision Questions [PDF in GR | 0.30 MB] [PDF in EN | 0.30 MB]
  17. Ray Tracing Ray tracing overview, Shadow feeler rays, Recursive Ray tracing, Refraction Ray, Ray tracing Tree, Bounding Volume, Ray-Object Intersection, Soft Shadows, Examples
    [PDF in GR | 4.38 MB] [PDF in EN | 4.36 MB]
  18. Acceleration Algorithms Bounding Volumes, Hierchical Bounding Volumes, Regular Grid, Octrees, kd-tree, BSP-tree, Fractal Geometry
    [PDF in GR | 2.33 MB] [PDF in EN | 2.30 MB]
  19. Texture Mapping / Antializing Principles of Texture Mapping, How to Produce a UV Mapping, Texture Mapping Technique, Tiling, Stretching, Texture Mapping Complex Geometry, Complex Geometry in Real Applications, Normal Mapping, Bump Mapping, Displacement Mapping, Environment Maps, Aliasing - Antialiasing, Supersampling, Stochastic Sampling, Adaptive Sampling, Texture Minification, MIP map, Trilinear and Anisotropic Filtering.
    [PDF in GR | -.-- MB] [PDF in EN | 5.88 MB]
  20. Shadows / Transparency Introduction, Soft and Hard Shadows, Simplest Hack, Fake Shadows, Shadow Texture, Shadow Mapping, Shadow Volumes, Light Mapping, Transparency, Alpha Blending, Stochastic Transparency.
    [PDF in GR | 6.55 MB] [PDF in EN| 6.61 MB]
  21. Radiocity Introduction to Radiocity, Radiosity Measure, Form-factors, Progressive Refinement, Meshing Adaptive Subdivision of Patches, Discontinuity Meshing, Raytracing vs Radiosity.
    [PDF in GR | 4.89 MB] [PDF in EN | 4.91 MB]
  22. Revision Questions [PDF in GR | 0.35 MB] [PDF in EN | 0.35 MB]

Lab Schedule

  1. Introduction: Introduction, Ray Tracing, Setup Miro [PDF | 0.80 MB]
    Code: MIRO Base Code [ZIP | 32 MB]


All Assignments will be announced in Moodle. Sign-up using the code handed out in class!

Text Book and Bibliography

Links and Manuals

To be uploaded soon...

© 2017 Andreas Aristidou