Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 9 additions & 10 deletions content/Workshop/01-Sujet.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,10 @@ for (glm::vec3& color : image.pixels())
- Pour créer une couleur avec les trois composantes identiques (donc un niveau de gris), la syntaxe `glm::vec3{grey}` est équivalente à `glm::vec3{grey, grey, grey}`.
- Vous pouvez généralement faire vos opérations directement sur les couleurs, pas besoin de les faire 3 fois sur chacun des canaux :
```cpp
glm::vec3 color1{};
glm::vec3 color2{};
glm::vec3 final_color{};
glm::vec3 const color1{};
glm::vec3 const color2{};

final_color = color1 + color2;
glm::vec3 const final_color = color1 + color2;
// équivalent à :
// final_color.r = color1.r + color2.r;
// final_color.g = color1.g + color2.g;
Expand Down Expand Up @@ -92,17 +91,17 @@ int main()

## Rendu et Rapport

__*À rendre avant samedi à 23h59*__.<br/>
*Pour le rendu, il suffit de [mettre votre lien git ici](https://docs.google.com/spreadsheets/d/1x2uqvKdhndstidmW4xoWkNTlbwHFDWGlpohdb6TRORY/edit?usp=sharing)*. Attention, vérifiez bien que votre repo est en public, ou si il est en privé, pensez à m'inviter dessus ([*julesfouchy*](https://github.com/julesfouchy/)).
__*À rendre avant vendredi à 23h59*__.<br/>
*Pour le rendu, il suffit de [mettre votre lien git ici](https://docs.google.com/spreadsheets/d/16nS6i0uq31Y3HzNI33xjXs4cC6H6AITeYHFn4fPQfsk/edit?usp=sharing)*. Attention, vérifiez bien que votre repo est en public, ou si il est en privé pensez à m'inviter dessus ([*julesfouchy*](https://github.com/julesfouchy/)).

Pour le rapport, faites une section par exercice que vous avez fait. Montrez une image avant et après application de l'effet (comme c'est fait dans l'énoncé des exercices). Si vous jugez cela utile, vous pouvez mettre un petit texte expliquant des spécificités de l'algo que vous avez implémenté, et les pièges potentiels dans lesquels il ne faut pas tomber.
Pour le rapport, faites une section par exercice que vous avez fait. Montrez une image avant et après application de l'effet (comme c'est fait dans l'énoncé des exercices). **Le rapport n'a pas besoin d'être long**. Pour les exercices où vous jugez cela utile, mettez un petit texte expliquant des spécificités de l'algo que vous avez implémenté, et les pièges potentiels dans lesquels il ne faut pas tomber.

À faire en Markdown obligatoirement (Si vous ne connaissez pas c'est l'occasion de découvrir, c'est super utile. Je vous montre tout ça vendredi).
À faire en Markdown obligatoirement. (Si vous ne connaissez pas c'est l'occasion de découvrir, c'est super utile. Je vous montre tout ça vendredi).

À mettre directement en tant que ReadMe.md à la racine du repo.
À mettre directement en tant que `README.md` à la racine du repo.

## Soutenance

Présentez un des algos avancés que vous avez fait, en 5-10 minutes. C'est de la vulgarisation, il faut que tous vos camarades puissent comprendre. Expliquez l'algo dans les grandes lignes, et parlez des petits pièges de code auxquels il faut faire attention.
Présentez un des algos avancés que vous avez fait, en 5-10 minutes. C'est de la vulgarisation, il faut que tous vos camarades puissent comprendre. Expliquez l'algo dans les grandes lignes, et parlez des petits pièges de code auxquels il faut faire attention. **Attention** à ne pas juste montrer le code et le lire ligne par ligne!!

PS : la soutenance est optionnelle, on va essayer de ne pas présenter plusieurs fois le même algo, donc vous n'êtes pas obligé.es de passer. Et si plusieurs groupes souhaitent passer sur le même algo, on va essayer de vous regrouper pour que vous fassiez une seule présentation, ensemble.
4 changes: 2 additions & 2 deletions content/Workshop/02-Planning.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
## Mardi

- [ ] *Cours* : Présentation de git
- [ ] Test et prise en main de git (l'un push quelque chose et l'autre le pull par exemple)
- [ ] Test et prise en main de git
- [ ] Mettre sur le repository les exercices que vous avez fait hier
- [ ] Autonomie, avancer dans les exercices

Expand All @@ -24,6 +24,6 @@
## Vendredi

- [ ] *Cours* : Présentation de Markdown pour l'écriture du rapport
- [ ] Écriture du rapport (Vous avez jusqu'à samedi 23h59 pour le rendre)
- [ ] Écriture du rapport (Vous avez jusqu'à vendredi 23h59 pour le rendre)
- [ ] Préparation de la présentation pour celleux concerné.es
- [ ] Présentations l'après-midi
29 changes: 0 additions & 29 deletions content/Workshop/03-Exercices.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,12 +181,6 @@ Maintenant que vous savez dessiner un cercle, dessinez-en plusieurs sur la même
Comment passer de coordonnées polaires (angle et rayon) à des coordonnées cartésiennes (x et y) ?
</details>

### ⭐⭐ Animation

![](output/animation.gif)

Pour faire une animation, on va exporter plein d'images les unes après les autres, en faisant légèrement bouger le disque entre deux images. Vous pouvez ensuite utiliser un outil externe pour assembler ces images en une vidéo / gif. Par exemple [Ezgif](https://ezgif.com/maker).

## ⭐⭐ Mosaïque

![](output/mosaic.png)
Expand Down Expand Up @@ -264,29 +258,6 @@ On passe ce qu'on appelle une *lambda* en 3ème argument : c'est une fonction d

<ExplanationsAboutRandom/>

## ⭐⭐⭐ Dégradés dans l'espace de couleur Lab

Pour commencer, repartez de l'exo [⭐ Dégradé](#-dégradé) et adaptez-le pour faire un dégradé de couleur :

![](./output/gradient_srgb.png)

<details>
<summary>Indice</summary>

Vous pouvez utiliser la fonction [`glm::mix`](https://glm.g-truc.net/0.9.4/api/a00129.html#ga3f64b3986efe205cf30300700667e761) pour mélanger deux couleurs en fonction d'un pourcentage.
</details>

Maintenant, on peut remarquer que ce dégradé n'est pas super, et que la couleur au milieu est très sombre par rapport aux couleurs aux extrémités. Le problème c'est que nos couleurs sont exprimées dans l'espace de couleur sRGB, qui n'est pas adapté pour ce genre d'opérations de mélange entre couleurs. D'autres espaces de couleur ont été développés exprès pour ça, notamment Lab :

<YoutubeVideo id="nJlZT5AE9zY"/>
<br/>

[Voici l'article original introduisant Oklab](https://bottosson.github.io/posts/oklab/), vous y trouverez toutes les infos nécessaires pour implémenter les conversions entre sRGB et Oklab :

![](./output/gradient_oklab.png)

Comparez les dégradés dans les différents espaces de couleur : lequel préférez vous ? Essayez des dégradés avec d'autres couleurs : est-ce que Oklab est toujours mieux que sRGB ? Que se passe-t-il si on fait le mélange dans d'autres espaces de couleur, comme Linear RGB ou HSL ?

## ⭐⭐⭐(⭐) Fractale de Mandelbrot

![](output/mandelbrot.png)
Expand Down