[Toulibre] Atelier C++ : le TDD appliqué au vieux code OpenGL

Sébastien Dinot sdinot at april.org
Mar 4 Juin 23:49:33 CEST 2019


Bonjour à tous,

Le dernier atelier C++ de la saison se déroulera ce samedi 8 juin au centre
culturel Bellegarde. Comme d'habitude, il ouvrira ses portes de 10h à 17h et
la présentation aura lieu à 11h.

Sujet : Le TDD appliqué au vieux code OpenGL

Pour ce dernier atelier de la saison, Kevin Ottens nous proposera le dernier
volet de son cycle sur le TDD (Test driven development), nous montrant comment
moderniser un logiciel utilisant l'API OpenGL.

Le code OpenGL de nombreuses applications a été écrit avant la modernisation
de l'API OpenGL visant à mieux tirer partie des processeurs graphiques (GPU).
Cette nouvelle API induit une conception très différente du code de rendu.
Cette évolution peut rendre très difficile le remaniement du code OpenGL pour
le porter vers l'API moderne. Ce portage est d'autant plus délicat que les
logiciels anciens bénéficient rarement de tests automatisés. Que faire d'un
tel code ? Se débarrasser du problème en réécrivant le code est tentant, mais
une telle approche cassera probablement le rendu de manière plus ou moins
subtile et gênante.

Dans cette présentation en « live coding », nous verrons comment nous pouvons
démarrer d'une base de vieux code C++ et OpenGL sans test, y ajouter de
nouvelles fonctionnalités et la porter vers la nouvelles API OpenGL dans un
temps court. Nous couvrirons une technique aidant au remaniement de votre
vieux code OpenGL de la manière la plus sûre possible. Ce sera l'occasion de
découvrir comment les techniques de remaniement et de « pin test » peuvent
être utilisées pour du code purement graphique. Tout cela en partant d'une
base de code non optimale et en s'intéressant toujours à la tâche la plus
simple qui nous approchera du but.

L'intervenant : Kevin Ottens a plus de 12 ans d'​expérience de développement
avec Qt et est un des contributeurs centraux ​de Qt 3D. Il est aussi de longue
date un membre de la communauté KDE où il s'est plus particulièrement
intéressé aux API des bibliothèques et à l'architecture de plusieurs projets
d'envergure.

-- 
Sébastien Dinot, sdinot at april.org
April, http://www.april.org/
Promouvoir et défendre le logiciel libre


Plus d'informations sur la liste de diffusion Toulouse-ll