Tester la PGA
- La PGA (algèbre géométrique projective) suscite de l’attention dans les communautés de l’infographie et du machine learning.
- Son application dans les graphismes 3D traditionnels était jusqu’ici limitée, mais le projet « Look, Ma, No Matrices! » cherche à élargir son champ d’application en l’intégrant à des moteurs 3D modernes.
- Le projet souligne qu’il ne s’agit pas de remplacer les techniques existantes, mais qu’une remise à plat plus fondamentale est nécessaire pour exploiter le potentiel de la PGA.
Introduction
- En infographie, les matrices jouent un rôle très important.
- Les GPU actuels sont programmables et ne sont plus liés à un pipeline à fonctions fixes, ce qui crée les conditions nécessaires à l’utilisation de la PGA.
- Les matrices conviennent pour représenter des transformations linéaires, mais les moteurs PGA peuvent encoder les mouvements euclidiens avec un coût de calcul et de mémoire plus faible.
FPGA : de la PGA rapide !
- L’article détaille les opérateurs de base de la PGA ainsi que les techniques nécessaires sur CPU et GPU.
- Les vecteurs de base et l’organisation mémoire de la PGA sont choisis pour minimiser les conversions lors du traitement des données graphiques.
- Les structures de données de la PGA se traduisent en structures de shader simples, ce qui permet de conserver les opérations avec des types intégrés.
Obtenir des opérateurs géométriques
- Dans la PGA, la composition des transformations utilise le produit géométrique, plus efficace que la multiplication matricielle.
- L’opérateur sandwich, nécessaire pour transformer les points et les directions, joue un rôle important dans la PGA.
- La normalisation des moteurs PGA et les opérations de racine carrée sont des opérations importantes dans la PGA, avec des implémentations efficaces possibles.
Sortir des matrices
- L’interaction avec les contenus existants implique de convertir les matrices vers leurs équivalents PGA.
- Contrairement aux matrices 4x4, les moteurs PGA n’incluent pas la mise à l’échelle ; une mise à l’échelle uniforme est donc suivie en multipliant l’échelle totale de chaque élément par celle du parent.
- La mise à l’échelle non uniforme est plus complexe, mais elle ne s’applique le plus souvent qu’aux nœuds feuilles.
Rendu forward
- Un renderer forward transforme la géométrie du mesh et détermine quels pixels sont couverts par chaque triangle.
- Les matrices de modèle, de vue et de projection sont remplacées par des moteurs PGA, et les transformations nécessaires au normal mapping en espace tangent sont effectuées dans le vertex shader.
- L’approche PGA montre qu’il est possible de transformer les sommets d’un mesh avec un coût de calcul presque identique à celui d’une approche en matrices 4x4.
L’avis de GN⁺
- Le projet « Look, Ma, No Matrices! » propose une alternative intéressante au rendu traditionnel fondé sur les matrices. Cette nouvelle manière de gérer les transformations 3D avec la PGA pourrait apporter de l’innovation au domaine de l’infographie.
- Cette technologie peut toutefois imposer une nouvelle courbe d’apprentissage aux développeurs habitués aux opérations matricielles, ce qui peut constituer un frein au début de son adoption.
- Parmi les autres projets ou produits du secteur offrant des fonctions comparables, on peut citer des API graphiques comme OpenGL ou DirectX, qui reposent toutefois sur une approche matricielle traditionnelle.
- L’adoption de la PGA nécessite de prendre en compte la compatibilité avec le code existant, l’optimisation des performances et la formation des développeurs.
- Les gains potentiels de la PGA en efficacité mémoire et en coût de calcul peuvent être intéressants, mais ils dépendront de son intégration aux systèmes existants et du niveau de compréhension de la PGA par les développeurs.
1 commentaires
Commentaires sur Hacker News
Recommandation de la vidéo d’introduction à l’algèbre géométrique (Geometric Algebra) de Freya Holmér
Compréhension de l’algèbre géométrique
i*i = 1,i*j = -j*i)wedge productDifférentes approches de l’interpolation des rotations
Recommandation de ressources sur l’algèbre géométrique
Le modèle est trop actif dans le reste de la page, ce qui rend les mathématiques difficiles à suivre
Critique de la complexité de l’algèbre géométrique
wedge productet le hodge star (ou l’isomorphisme musical)Demande de définir l’abréviation PGA (algèbre géométrique projective) lors de sa première utilisation
Question sur l’efficacité de l’algèbre géométrique sur GPU
L’article est intéressant et agréable à lire ; ce n’est pas un domaine d’intérêt particulier, mais le texte est séduisant
Une explication de la théorie de l’algèbre de Lie appliquée aux opérations graphiques est nécessaire