# Tutorials

## Skinning

- [ slides (161MB) ] Introduction to character animation (skinning)
- Linear blending cheat sheet
- Dual Quaternion Skinning
- Dual Quaternion Skinning and scale
- Bulge free Dual Quaternion

Other sources:

## Geometry processing, FEM

Harmonic functions:

Triangle meshes:

Regular grids (TODO)

- Harmonic weights
- Bi-harmonic stencils (1D, 2D)

## Implicit surface / distance field

- Introduction
- Global and compact support
- Normal of a distance field
- Transformation
- TODO: Common blending and advanced blending operations
- ...
- [ code ] [ subject (FR) ] Labs on Hermite Radial Basis Functions (HRBF) for point cloud reconstruction
- HRBF tutorial

Miscellaneous from other sources

- Implicit snail shader example
- Introduction to ray marching distance fields (implicit surfaces) and boolean modeling.
- Ray marching (sphere tracing) in Unity
- Sphere tracing paper
- A librarie with simple implicit surface blending operations.

Material from one of my former PhD director Pr. Loïc Barthe (mostly in French):

- Slides on the fundation of implicit surface.
- Seminar on implicit blending (and also gradient blending etc.)

## General 3D graphics

- (French) [ pdf ] [ odt ] Phong shading explained.
- (French) [ pdf ] [ odt ] Eclairage de phong résumé
- Phong shading cheat sheet

### OpenGL 3.0

- [ code (FR) ] Tutorials and C++ code to introduce OpenGL 3.0 using a Qt 5.0 window and CMake. The archive also contains assignement subjects (in French) with very detailed comments inlined in the code to learn step by step OpenGL functions. (taught at Master degree level)

### OpenGL 2.1

This is an old tutorial mostly about the **deprecated** openGL 2.1. It can be useful to understand old projects (many are still using GL 2.1) and is easier to learn at first. But since you will have to learn openGL 3.0 at some point you might want to jump to it directly. For an introduction to the more recent pipeline: open.gl seems to be a good starting point.

Note: this course was designed for Master students.

### Lessons

- [ pdf ] [ odt ] Chap1: introduction to OpenGL 2.1 and GLUT
- [ pdf ] Chap2: maths of affine transformations and projection
- [ slides ]

### Practicals & Exercices

- [ pdf ] [ odt ] [ code ] Introduction
- [ pdf ] [ odt ] [ code ] Transformations
- [ pdf ] [ odt ] [ code ] Lighting
- [ pdf ] [ odt ] [ code ] Camera
- [ pdf ] [ odt ] [ code ] Mesh loader
- [ pdf ] [ odt ] VBOs
- [ code ] Bezier curves