Wählen Sie eine davon aus und arbeiten Sie sich nach oben.
1. CG-Grundlagen
† Dies sind keine OpenGL-Bücher, sie verwenden nur OpenGL, um grundlegende CG-Konzepte zu vermitteln
Von diesen sind meine persönlichen Favoriten die letzten beiden. Praktischer und damit spannender für den Anfänger; Die Erklärungen sind nicht sehr kryptisch, im Gegensatz zu den anderen, akademischeren Büchern in der Liste.
Grund, warum das Echtzeit-Rendern weggelassen wird, ist, dass es kein schmutziges Buch ist. Es ist ein umfassender Überblick über die in der Branche verwendeten Techniken als über die Grundlagen von CG. Theorie-lastiger als Workout-lastiger: etwas, das Anfänger gut verstehen müssen. Sogar die behandelte Theorie ist in vielen Punkten ziemlich hoch.
2. Mathe-Grundlagen
Um mit Computergrafiken vertraut zu sein oder die Grundlagen zu verstehen, muss eine angemessene Menge mathematischer Konzepte erarbeitet werden. Man muss sich mit Trigonometrie und linearer Algebra auskennen. Hierzu empfehle ich
- Vektor-Mathematik für 3D-Computergrafiken ist bei weitem das beste Einsteiger-Tutorial für Vektoren und Matrizen. Es ist auch interaktiv, da am Ende jedes Abschnitts eine Testfrage steht, mit der das Verständnis dieses Themas überprüft und besiegelt werden kann.
Bücher
Von diesen Mathematikbüchern ist das intuitivste das erste mit vielen lustigen Anekdoten dazwischen, das letzte ist für hartgesottene Mathematikfanatiker (wenn Sie Angst vor Symbol-Erbrochenem haben, meiden Sie es), obwohl es ein gutes Buch für ist erfahrene CG-Programmierer, die eine Referenz benötigen. Das eine dazwischen ist wirklich gut darin, dass es Dinge aufzeigt, die die anderen zwei (oder viele Bücher) auslassen, und im Spektrum der Intuitivität und der harten Kernmathematik liegt es dazwischen.
3. Tutorials
Nur lesen besiegelt nicht die Konzepte, daher ist es auf jeden Fall empfehlenswert, daran zu arbeiten. Dafür fand ich diese Tutorials sehr gut; die meisten geben auch eine anständige Erklärung für die Theorie.
Binden Sie sich nicht zu sehr an eine bestimmte Bibliothek oder ein bestimmtes Tool (z. B. OpenGL, Direct3D, Metal, Vulkan, WebGL, SDL, Quartz usw.), wenn Sie die grundlegenden Konzepte (Mathematik dahinter) verstanden haben und sie in einer beliebigen Sprache oder einem beliebigen Framework implementiert haben oder Bibliothek wäre keine große Sache. Nur Syntax / Compiler würde sich ändern, aber die Techniken selbst bleiben gleich.