J’ai récement traduit l’article Implémenter un Voxel Cone Tracing, qui présente quelques difficultés techniques pour ceux qui ne sont pas habitués avec les concepts présentés dans cet article. Ce billet de blog à pour objectif de présenter ces concepts.
Lire la suite
Archives pour la catégorie OpenGL
Un ColorPicker avec Qt – Benchmark et optimisations
Le sujet du premier exercice proposé par la rubrique Qt de Developpez.com consistait à créer un widget permettant de sélectionner les différentes nuances de gris à partir d’une teinte définie.
Lire la suite
Déboguer avec OpenGL 4
Lorsque l’on débute l’apprentissage d’OpenGL et des shaders (et même ensuite), on est vite confronté au problème du débogage, soit parce que le programme s’arrête brusquement, soit parce que le résultat obtenu ne correspond pas à ce que l’on attend. Traditionnellement, on utilise la fonction glGetError, mais elle est encore trop souvent « oubliée » par les développeurs et elle donne finalement assez peu d’informations.
Heureusement, cette problématique a été prise en compte dans les dernières spécifications d’OpenGL avec l’ajout de nouvelles extensions pour le débogage. Ce billet de blog aborde les fonctionnalités de débogage introduites dans OpenGL 4.1 avec l’extension ARB_debug_output et complétées dans OpenGL 4.3 avec l’extension KHR_debug.
Les outils externes de débogage ne sont pas abordés.
Lire la suite
OpenGL dans Qt5
Le support d’OpenGL dans Qt5 a été modifié pour mieux l’intégrer avec les nouveaux modules de Qt : QtQuick2 et Qt3D. Cet article présente les modifications apportées dans Qt5.
Lire la suite
Introduction aux geometry shaders
A la demande de LittleWhite, mon premier bloc technique est consacré à l’utilisation des geometry shader. Il n’y a rien de tres compliqué donc je présente un exemple simple apres quelques rappels. Pour ceux qui ne connaissent pas du tout les geometry shaders, je ferais un article plus detaille sur ce sujet.
Pour faire au plus simple, j’utilise Qt et en particulier QShaderProgram, qui gère les geometry shaders depuis Qt 4.7.
Lire la suite
La technique d’instanciation
L’instanciation est une technique permettant de dessiner plusieurs copies du même objet. Cette technique sera intéressante dans des scènes contenant des objets similaires : une forêt d’arbre, le feuillage d’un arbre, une foule, l’herbe d’une pelouse.
Lire la suite
Les queries objects
Les queries objects permettent d’interroger OpenGL pour obtenir des informations à propos des traitements effectués. Par exemple, les queries objects permetttent de récupérer les nombres d’instances/primitives restant après un occlusion culling dans un geometry shader. On utilise également des tableaux de queries objects pour tester chaque rendu et la technique de conditional rendering pour faire les tests de culling directement sur le GPU.
Lire la suite