Choisissez-en un parmi chacun et progressez.
1. Fondamentaux CG
† ce ne sont pas des livres OpenGL, ils utilisent simplement OpenGL pour enseigner des concepts CG rudimentaires
Parmi ceux-ci, mes favoris personnels sont les deux derniers. Plus pratique et donc captivant pour le débutant; les explications ne sont pas très cryptiques, contrairement aux autres livres plus académiques de la liste.
La raison pour laquelle le rendu en temps réel est omis est qu'il ne s'agit pas de mettre la main à la pâte ; il s'agit d'une vaste étude des techniques utilisées dans l'industrie plutôt que des principes fondamentaux de la CG; lourd en théorie plutôt qu'en entraînement: quelque chose que les débutants doivent bien comprendre les bases. Même la théorie abordée est assez élevée à bien des égards.
2. Bases mathématiques
Pour être compétent en infographie ou même pour comprendre les bases, une quantité décente de concepts mathématiques doit être saisie; il faut être à l'aise pour utiliser la trigonométrie et l'algèbre linéaire. Pour cela je recommande
- Vector Math for 3D Computer Graphics est de loin le meilleur tutoriel pour les vecteurs et les matrices. Il est également interactif en ce qu'à la fin de chaque section, il y a une question test pour vérifier et sceller la compréhension de ce sujet.
Livres
Parmi ces livres de mathématiques, le plus intuitif est le premier avec beaucoup d'anecdotes amusantes entre les deux, le dernier est pour les fanatiques de maths du noyau dur (si vous avez peur du symbole vomi, évitez-le), bien que ce soit un bon livre pour programmeurs CG expérimentés qui ont besoin d'une référence. Celui entre les deux est vraiment bon en ce qu'il détaille des choses que les deux autres (ou de nombreux livres d'ailleurs) omettent, et dans le spectre de l'intuitivité et des mathématiques fondamentales, il se situe entre les deux.
3. Tutoriels
La simple lecture ne scelle pas les concepts, il est donc recommandé de travailler. Pour cela, j'ai trouvé ces tutoriels très bons; la plupart donnent également une explication décente de la théorie.
Ne vous attachez pas trop à une bibliothèque ou à un outil spécifique (par exemple, OpenGL, Direct3D, Metal, Vulkan, WebGL, SDL, Quartz, etc.) Une fois que vous comprenez les concepts de base (mathématiques derrière eux), les implémentez dans n'importe quel langage, framework ou la bibliothèque ne serait pas un gros problème. La syntaxe / le compilateur changeraient, mais les techniques elles-mêmes restent les mêmes.