Om Core Blender Development
Chapter 1. A First Encounter with Blender''s Source Code
Chapter goal: To outline the Blender source tree, and provide an execution trace of how Blender registers geometric manipulation operators, and the execution of a few of the associated callbacks.
ΓÇóThe Blender Project
oDiscusses where Blender source code is hosted and how developers can find help online.
ΓÇóThe Blender Source Tree
oListing of the modules included in Blender, and what each module does
ΓÇóThe Blender CMake Build System
oHow Blender makes uses of the CMake build system, and how various modules can be included or excluded from a build
ΓÇóSome High-Level Geometric Modelling Tools & Their Operators
oDiscusses how operators are registered in the C code
oDescribes where primitive creation and geometric editing operators are registered and how to determine their callbacks
ΓÇóThe Model-View-Controller Architecture of Blender
oExplains the rationale for the general architecture of Blender and its history
ΓÇóRoadmap for the Remaining Book
oWhat is "core" Blender?What this book covers and what it does not cover
Chapter 2. The Blend File Format
Chapter goal: Explains the persistent data model and related data structures of the .blend file
ΓÇóWhat Does the .blend File Contain?
oHigh-level description & purpose of the .blend fileΓÇóByte Layout of the .blend File
ΓÇóBackwards Compatibility of the .blend File
ΓÇóBlender DNA and the Data Model
oShows how the contents of the .blend file map to DNA (data structures) and the data model and internal API
ΓÇóThe Dependency Graph
Chapter 3. GHOST and the Main Event Loop
Chapter goal: Dissects the global host module (GHOST) and points out the high-level main event loop in the window manager module
ΓÇóBlender''s cross-platform support for multiple windowing and operating systems: gHOST
oOverview of the source files in the gHOST module
ΓÇóTrace of the Initialization Routines
ΓÇóGHOST and the Event Loop
ΓÇóDifferences Between Linux, MS Windows, and MacOS builds
Chapter 4. BlendLib & Utilities
Chapter goal: Discusses the suite of functions provided by the internal utilities libraries of Blender
ΓÇóThe Math Utilities
oExplanation of the math utilities used throughout core Blender
ΓÇóThe File Utilities
ΓÇóThe global context and blendlib
Chapter 5. Blender Embedded Python Engine
Chapter goal: Describes the connection between Python API and the internal compiled code of the embedded (extended) interpreter
ΓÇóHow Python is Embedded in a C Program
oPreliminaries on embedded Python
ΓÇóHow Blender Embeds Python
oUI dependencies
oAssociated source files & important module (externally linked) functions
oStartup and initialization
ΓÇóThe Data API & RNA generated code
Chapter 6. Blender User Interface Components
Chapter goal: Describes the internal graphical user-interface of Blender and how Blender uses OpenGL to draw and manage its custom UI
ΓÇóInternal UI API
oDescribes Windows, Other UI Elements, and Events
ΓÇóHow to construct simple UI Elements in C.
ΓÇóHierarchy of UI Elements.
ΓÇóTrace of Window Updates and Drawing in C code
Chapter 7. BMesh Data Structure and the bmesh Module
Chapter goal: Describes the bmesh data structure and how the associated geometric operators update its data.
ΓÇóBMesh Design
oHow BMesh stores geometry data?
vertices
edges
Vis mer