Computer Graphics and Game Technology

Subject description

Lectures:

  1. Introduction.
  2. Basic math.
  3. Affine transformations, coordinate systems, homogeneous coordinates. Projections.
  4. Representations: polygons, subdivision surfaces, parametric curves.
    Hierarchies.
  5. Local illumination and shading.
  6. Texture mapping.
  7. Graphics pipeline: culling and clipping, rasterisation, z-buffer.
  8. Shaders
  9. Collision detection.
  10. Space partitioning methods.
  11. Colors.
  12. Global illumination: raytracing.

Laboratory:

Students will implement an interactive game. Exercises will include an introductionary course on OpenGL and Unity and individual project work with final public presentation of results.

The subject is taught in programs

Objectives and competences

The objective is to present students the programming and algorithmic background of computer graphics and games. When completing the course, students will be able to gain the following competences:

– the ability to understand and solve professional challenges in computer and information science.

– the ability to apply acquired knowledge in independent work for solving technical and scientific problems in computer and information science; the ability to upgrade acquired knowledge.

– the ability to independently perform both less demanding and complex engineering and organisational tasks in certain narrow areas and independently solve specific well-defined tasks in computer and information science

– the ability to independently develop interactive 3D applications and games.

Teaching and learning methods

Lectures with practical demostrations, laboratory work under the supervision of assistants.

Expected study results

After the completion of the course the student will be able to:

– understand the mathematical background of basic computer graphics algorithms

– know the different representations of 3D objects

– understand the inner workings of the graphics pipeline

– understand the basics of optimization techniques needed to develope interactive graphical applications

– understand the principles of low-level and high-level 3D graphics programming

– develop an interactive 3D graphical application or game using low-level or high-level programming libraries.

Basic sources and literature

  1. Nikola Guid: Računalniška grafika. Univerza v Mariboru, FERI.
  2. D. Hearn, M.P. Baker: Computer Graphics with OpenGL, Pearson Prentice Hall, NJ USA.
  3. D.H. Eberly: 3D Game Engine Design, Morgan Kaufman Publishers, CA USA.

Stay up to date

University of Ljubljana, Faculty of Electrical Engineering Tržaška cesta 25, 1000 Ljubljana

E:  dekanat@fe.uni-lj.si T:  01 4768 411