Bewertung:

Das Buch ist eine wertvolle Ressource zum Verständnis des Blender-Quellcodes, insbesondere für Blender-Neulinge, wobei der Schwerpunkt auf der plattformübergreifenden Fensterabstraktion und dem eingebetteten Python-Interpreter liegt. Viele Benutzer sind jedoch der Meinung, dass der Preis für den Umfang des Inhalts zu hoch ist.
Vorteile:Gut organisierter Inhalt, gute Referenz für Blender-Quellcode, hilfreiche UML- und Abhängigkeitsdiagramme, gründliche Beschreibungen komplexer Systeme, stärkt das Vertrauen in die Modifizierung des Quellcodes.
Nachteile:Überteuert für den gebotenen Inhalt, schlechtes Code-Darstellungsformat in der Kindle-Version, fehlende Abdeckung einiger Bereiche wie Cycles, kritisiert für niedrige Seitendichte mit großen Schriftarten, und einige Abschnitte sind sehr kurz.
(basierend auf 4 Leserbewertungen)
Core Blender Development: Understanding the Essential Source Code
Kapitel 1. Eine erste Begegnung mit dem Blender-QuellcodeZiel des Kapitels: Einen Überblick über den Blender-Quellcode-Baum zu geben und zu zeigen, wie Blender geometrische Manipulationsoperatoren registriert und wie einige der zugehörigen Rückrufe ausgeführt werden. - Das Blender-Projekto Erörtert, wo der Blender-Quellcode gehostet wird und wie Entwickler online Hilfe finden können. - Der Blender Source Treeo Auflistung der Module, die in Blender enthalten sind, und was jedes Modul tut- Das Blender CMake Build Systemo Wie Blender das CMake Build System nutzt, Einige High-Level Geometric Modelling Tools & ihre Operatoreno Erörtert, wie Operatoren im C-Code registriert werdeno Beschreibt, wo Primitiv-Erzeugungs- und Geometrie-Bearbeitungs-Operatoren registriert sind und wie man ihre Callbacks bestimmt- Die Model-View-Controller-Architektur von Blendero Erklärt die Gründe für die allgemeine Architektur von Blender und seine Geschichte- Roadmap für das restliche Bucho Was ist der "Kern" von Blender? Was dieses Buch abdeckt und was es nicht abdeckt.
Kapitel 2. Das Blend-DateiformatKapitelziel: Erklärt das persistente Datenmodell und die zugehörigen Datenstrukturen der. blend-Datei- Was enthält die. blend-Datei? o High-Level-Beschreibung & Zweck der. blend-Datei- Byte-Layout der. blend-Datei- Rückwärtskompatibilität der. blend-Datei- Blender-DNA und das Datenmodello Zeigt, wie der Inhalt der. blend-Datei auf die DNA (Datenstrukturen) und das Datenmodell und die interne API abbildet- Der Abhängigkeitsgraph.
Kapitel 3. GHOST und die HauptereignisschleifeKapitelziel: Zerlegt das globale Hostmodul (GHOST) und zeigt die Hauptereignisschleife im Fenstermanagermodul auf- Blenders plattformübergreifende Unterstützung für mehrere Fenster- und Betriebssysteme: gHOSTo Überblick über die Quelldateien im gHOST-Modul- Nachvollziehen der Initialisierungsroutinen- GHOST und die Ereignisschleife- Unterschiede zwischen Linux, MS Windows und MacOS-Builds.
Kapitel 4. BlendLib & UtilitiesKapitelziel: Besprechung der Funktionen, die von den internen Utilities-Bibliotheken von Blender bereitgestellt werden- Die Math Utilitieso Erklärung der Mathe-Utilities, die im gesamten Blender-Kern verwendet werden- Die File Utilities- Der globale Kontext und blendlib.
Kapitel 5. Blender Embedded Python EngineKapitelziel: Beschreibt die Verbindung zwischen der Python API und dem internen kompilierten Code des eingebetteten (erweiterten) Interpreters- Wie Python in ein C-Programm eingebettet ist- Vorbemerkungen zu eingebettetem Python- Wie Blender Python einbettet- UI-Abhängigkeiten- Zugehörige Quelldateien & wichtige Modulfunktionen (extern verlinkt)- Start und Initialisierung- Die Data API & RNA generierter Code.
Kapitel 6. Komponenten der Blender-BenutzeroberflächeKapitelziel: Beschreibt die interne grafische Benutzeroberfläche von Blender und wie Blender OpenGL verwendet, um seine benutzerdefinierte Benutzeroberfläche zu zeichnen und zu verwalten- Interne UI-APIo Beschreibt Fenster, andere UI-Elemente und Ereignisse- Wie man einfache UI-Elemente in C konstruiert- Hierarchie der UI-Elemente. - Verfolgung von Fensteraktualisierungen und Zeichnung in C-Code.
Kapitel 7. BMesh-Datenstruktur und das bmesh-ModulKapitelziel: Beschreibt die bmesh-Datenstruktur und wie die zugehörigen geometrischen Operatoren ihre Daten aktualisieren. - BMesh Designo Wie speichert BMesh Geometriedaten? vertices Kanten.