M1 - Aquisition, Analyse et Traitement d’Images


TP1 - Prise en main compute shaders



Partie 1 : prise en main

Installez gKit, compilez la documentation avec doxygen. Elle sera disponible dans doc/html/index.html

Générez les projets pour votre environnement avec premake :
etc, la doc de premake est disponible.

Compilez image_viewer, par exemple, pour vérifier que tout fonctionne : make image_viewer, par exemple, si vous avez généré les makefiles avec premake.
Compilez également compute_kit.

exercice 1 : noir et blanc

Ecrivez un shader permettant de copier l'image (cf support de cours), et vérifiez qu'il fonctionne avec ./compute_kit shader.glsl debug2x2red.png


Modifiez votre shader pour transformer la couleur de chaque pixel en gris. La conversion la plus simple consiste à calculer la moyenne des canaux rouge, vert et bleu.


Partie 2 - filtre 3x3

Ecrivez un compute shader permettant d'appliquer un filtre sur le voisinage 3x3 de chaque pixel d'une image.

Comment représenter / manipuler les valeurs du filtre ?
Comment parcourir le voisinage de chaque pixel ? que se passe-t-il sur les bords de l'image ?

Comment décomposer l'algorithme ? un thread par pixel ? un thread par pixel et par valeur du filtre ?
Essayez les 2 solutions.