Ouverture du blog

Bienvenue sur ce blog consacré à la programmation des GPU

Pourquoi ce blog ?

J’ai commencé il y a maintenant plus d’un an la rédaction d’un tutoriel sur la programmation des processeurs graphiques (La 3D avec le module OpenGL de Qt, avec Rémi Achard, mon stagiaire de l’époque). L’idée de cet article est venue du constat que la plupart des ressources sur la programmation 3D en français utilisent des méthodes dépréciées. Ce tutoriel présente donc les bases de programmation 3D moderne, en s’affranchissant de l’approche « historique » (comme par exemple le pipeline fixe ou le mode directe).

La rédaction de ce genre d’article est très épuisante et un peu frustrante. Épuisante, car cela prend du temps à se documenter, à écrire, à coder des exemples simples et pédagogiques… et tout recommencer plusieurs fois. Frustrant parce que ce tutoriel n’aborde, pour le moment, que des techniques destinées aux débutant. Quand la principale motivation est de s’amuser à découvrir des techniques avancées (et donc complexes), la rédaction de ce genre d’article n’apporte pas assez de satisfactions personnelles. La conséquence de cela est que la rédaction traîne un peu depuis quelques temps. Beaucoup même.

Le but de ce blog est donc avant tout de m’amuser avec les gpu, d’expérimenter des techniques avancées, de faire des tests, d’échanger sur ces techniques, etc.

Alors, tu laisses tomber l’article principal ?

Non. Le tutoriel va continuer à évoluer de son côté. Deux chantiers sont en cours : la réorganisation en plusieurs petits tutoriels et la fin de la rédaction de la partie sur OpenCL. Le découpage de l’article devrait le rendre plus abordable pour les débutants et faciliter la mise à jour.

Le blog et les articles ne s’adressent pas au mêmes personnes. Le premier est un lieu d’expérimentation et d’échange technique. Il intéressera donc les développeurs plus expérimentés (j’espère). L’article est beaucoup plus pédagogiques et synthétiques. Il est destiné aux débutants.

Que va-t-on trouver dans ce blog ?

La thématique principale sera la programmation de gpu au sens large (3D, GPU computing), les thèmes annexes seront plus variés (c++, opengl, opencl, cuda, architecture des gpu, 3d, Qt, moteurs 3D, moteurs de jeux, etc.) Il n’y a pas vraiment de limites bien définies. Les sujets abordés dépendront de mes envies, de mes lectures, des questions sur le forum ou de suggestions que l’on pourra me faire.

Je publierai deux types d’articles : les articles techniques, orientés vers une technique spécifique et ses différentes applications (par exemple la tesselation ou le feedback), et les articles applicatifs, orienté vers une application (par exemple comment afficher des arbres ou un personnage réaliste) en utilisant les différentes approches possibles.

J’essaierai de publier 1 ou 2 articles par mois. Les premiers articles sont déjà rédigés (un sur les geometry shaders, à la demande de LittleWhite, et un sur l’ambient occlusion).

A bientôt