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 :
- pour générer des makefiles :
./local/linux/bin/premake
4
gmake
- pour générer des projets codeblocks :
./local/linux/bin/premake4
codeblocks
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.