Loading...
PB009

Principles of Computer Graphics

This site provides supplementary study materials for the course PB009 Pricliples of Computer Graphics taughed at Faculty of Informatics, Masaryk University.

The aim of the course is to give the students an overview of the basic algorithms and methods for rendering and data representations used in computer graphics. The gained knowledge will enable the students to understand a vast range of computer graphics tasks, including their mathematical background.

PB009
Lecture 1: Introduction
In this lecture, you will learn about: What is computer graphics. A brief history of computer graphics. Why is visual information important. Where is computer graphics used. Current trends in computer graphics.



Lecture 2: Vector vs. Raster Graphics
In this lecture, you will learn about: What is vector graphics and where is it used. What is raster graphics and where is it used. Basic rasterization algorithms for line and circle: DDA, Bresenham algorithm. Basic antialiasing.



Lecture 3: Rasterization & Filling
In this lecture, you will learn about: Drawing filled objects. Flood fill. Triangle rasterization. Edge function. Pineda's algorithm. Barycentric coordinates.



Lecture 4: Clipping in 2D
In this lecture, you will learn about: Clipping algorithms for 2D objects. Point clipping. Line clipping. Cohen-Sutherland algorithm. Cyrus-Beck/Liang-Barsky algorithm. Nicholl-Lee-Nicholl algorithm. Polygon clipping. Sutherland-Hodgman algorithm. Greiner-Hormann algorithm.



Lecture 5: Representations of Spatial Data
In this lecture, you will learn about: Definition types - implicit, parametric, explicit. Point-based representations, point clouds. Wireframes. Surface representations. Polygon soup. Polygonal meshes and their types. Half-edge data structure. Implicit surfaces. Volumetric representations. Solid modeling. Voxels. Volumetric mesh. Constructive Solid Geometry. B-rep.



Lecture 6: Transformations
In this lecture, you will learn about: Vector and Affine Spaces (intuition). Affine transformations. Translation. Rotation. Scale. Shear. Homogenous coordinates. Model, View, Projection matrices.



Lecture 7: Curves in Computer Graphics
In this lecture, you will learn about: Parametric curve definition. Piecewise polynomial curves. Spline interpolation. Parametric and geometric continuity. Lagrange polynomial. Hermite cubic. Catmull-Rom cubic spline. Bézier curves. De Casteljau algorithm. B-Splines. De Boor algorithm.



Lecture 8: Surfaces in Computer Graphics
In this lecture, you will learn about: Parametric surface definition. Piecewise polynomial surfaces. Spline interpolation. Parametric and geometric continuity. Lagrange surface. Hermite bicubic patch. Ferguson surface patch. Ruled surface. Coons bilinear surface patch. Bézier surface. De Casteljau algorithm. B-Spline surface. De Boor algorithm. Bézier triangle.



Lecture 9: Visibility in Computer Graphics
In this lecture, you will learn about: Object vs. screen space visibility approaches. Back-face culling. Depth buffer (Z-buffer). Ray casting. Painter's algorithm. BSP trees. View frustum culling.



Lecture 10: Colors
In this lecture, you will learn about: Color as electromagnetic radiation. Emission and absorption spectrum. Human vision and color perception. Color reproduction. Metamers. Color models and color spaces. RGB. CMYK. HSV, HSL. CIE RGB, chromaticity diagram. Gamut.



Lecture 11: Lighting, Shading, and Textures
In this lecture, you will learn about: Local empirical illumination models. Types of light sources. Phong and Blinn-Phong lighting model. Ambient, diffuse, specular components. Shading. Flat shading. Gouraud shading. Phong shading. Texture mapping. UV coordinates.



Lecture 12: Ray-tracing, Radiosity, and Photon Mapping
In this lecture, you will learn about: Global illumination. Rendering equation. BRDF. Ray-tracing. Snell's law. Radiosity. Photon Mapping.