Welcome to the Computer Graphics Learning Materials. This material is part of a greater online learning environment CGLearn that is used to teach computer graphics in the University of Tartu.

Publicly available material covers basic topics in computer graphics. We start by introducing the geometry and transformations used to represent and position objects in 3D space. Then we proceed to show, how the 3D space is projected to a 2D screen space. After this basic shading and lighting models are covered. Next we also talk about texture mapping and blending. Second half of the material deals with a variety of topics that prove useful in getting to know the field. We continue the material with environment mapping. Then move on to basic curves and splines. The procedural generation topic covers noise, Lindemayer systems and particle systems. Last we introduce ray trace based rendering techniques and global illumination approaches. Material concludes with shadow algorithms.

Material includes interactive examples developed with Three.js library. Depending on your GPU drivers and platform, there may be issues in running some of the examples. Preferred browser is Chrome.

We plan to improve this material in time, write about more topics and complement the current ones. Hopefully you find the material useful. You can let us know about suggestions and comments at jee7[at]ut.ee