Core Blender Development: Understanding the Essential Source Code


Price:
Sale price$49.99

Description

Chapter 1. A First Encounter with Blender's Source CodeChapter 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 Projecto Discusses where Blender source code is hosted and how developers can find help online.- The Blender Source Treeo Listing of the modules included in Blender, and what each module does- The Blender CMake Build Systemo How 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 Operatorso Discusses how operators are registered in the C codeo Describes where primitive creation and geometric editing operators are registered and how to determine their callbacks- The Model-View-Controller Architecture of Blendero Explains the rationale for the general architecture of Blender and its history- Roadmap for the Remaining Booko What is "core" Blender? What this book covers and what it does not cover
Chapter 2. The Blend File FormatChapter goal: Explains the persistent data model and related data structures of the .blend file- What Does the .blend File Contain?o High-level description & purpose of the .blend file- Byte Layout of the .blend File- Backwards Compatibility of the .blend File- Blender DNA and the Data Modelo Shows 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 LoopChapter 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: gHOSTo Overview 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 & UtilitiesChapter goal: Discusses the suite of functions provided by the internal utilities libraries of Blender- The Math Utilitieso Explanation of the math utilities used throughout core Blender- The File Utilities- The global context and blendlib
Chapter 5. Blender Embedded Python EngineChapter goal: Describes the connection between Python API and the internal compiled code of the embedded (extended) interpreter- How Python is Embedded in a C Programo Preliminaries on embedded Python- How Blender Embeds Pythono UI dependencieso Associated source files & important module (externally linked) functionso Startup and initialization- The Data API & RNA generated code
Chapter 6. Blender User Interface ComponentsChapter goal: Describes the internal graphical user-interface of Blender and how Blender uses OpenGL to draw and manage its custom UI- Internal UI APIo Describes 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 ModuleChapter goal: Describes the bmesh data structure and how the associated geometric operators update its data.- BMesh Designo How BMesh stores geometry data? vertices edges

Author: Brad E. Hollister
Publisher: Apress
Published: 12/28/2020
Pages: 244
Binding Type: Paperback
Weight: 0.79lbs
Size: 9.21h x 6.14w x 0.53d
ISBN13: 9781484264140
ISBN10: 1484264142
BISAC Categories:
- Computers | Software Development & Engineering | Computer Graphics
- Computers | Design, Graphics & Media | CAD-CAM

About the Author
Brad Hollister holds a PhD from the University of California Santa Cruz in computer science, and has extensive software development experience both professionally and in the areas of open source, including BRL-CAD, VTK, and SCIRun. His research includes scientific visualization, virtual reality simulation for training, and computer graphics. Dr. Hollister is also faculty adviser for the Open Source Mozilla Campus Club at the California State University Dominguez Hills.