# 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.
- Clayxels -- implicit modelling plugin for unity

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.
- (Fr/En) Phong shading cheat sheet

### OpenGL 3.0

- [ code (FR/EN) ] Tutorials and C++ code to introduce OpenGL 3.0 using a Qt 5.0 window and CMake. You'll also find assignement instructions (in French) with very detailed comments inlined in the code to learn step by step OpenGL functions. (usually taught to 4th year university students). Although you should not need them you can ask for answer sheets by email. Note all assignment were translated from French. Please ask for English translation if you think you want to try them.

### 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