Description

Book Synopsis
Learn the essential source code of Blender and its unique build system. This book provides the inner workings of the Blender C-based source code, and will be indispensable for those wanting to contribute to this important open-source project.

Blender is an open-source 3D modeling and rendering software package used in the production of assets for animated projects, 3D printing, games, and even scientific visualization. This book goes in depth and discusses the primary modules related to the GUI and the geometric modeling work. You''ll start by learning how to reverse engineer geometric operators, and from there move on to the main features of the source code and how to apply them. When done, you''ll have the necessary foundation for exploration in other modules of the Blender source code. 

Lack of software engineering knowledge, such as experience with large cross-platform code base, remains insurmountable for m

Table of Contents
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 topology etc.o How BMesh updates data?o How BMesh is linked to Python scripting modules via RNA (Data API)?o Trace of a Hypothetical BMesh update with the following operators Bevel Extrude Knife Cut etc.• Associated source code (modules and files) of bmesh• How BMesh is serialized in the .blend file?• Associated DNA structures and BMesh
Chapter 8. Adding a Custom Editor ModuleChapter goal: A details set of steps to add a new module to the Blender code base. Provides both an all C-code implementation of an editor, and then an implementation that uses Python to produce the same GUI components. The parallel views further reinforce the material from Chapters 5 & 6.• A Basic Window in Co Adding operators and buttons in C• Adding Operators and Buttons in Pythono How these UI elements map to C functions in core Blender• Adding Source Files for a New Editoro CMake additions for proper system build with a new module (editor)
Chapter 9. Beyond Core Blender DevelopmentChapter goal: Suggests approaches to reverse engineering and developing non-Core Blender• Modifiers and Other Editors• Cycles Rendering• Physics Simulation

Core Blender Development

    Product form

    £49.49

    Includes FREE delivery

    RRP £54.99 – you save £5.50 (10%)

    Order before 4pm today for delivery by Mon 8 Jun 2026.

    A Paperback by Brad E. Hollister

    1 in stock


      View other formats and editions of Core Blender Development by Brad E. Hollister

      Publisher: APress
      Publication Date: 1/12/2020 12:12:00 AM
      ISBN13: 9781484264140, 978-1484264140
      ISBN10: 1484264142

      Description

      Book Synopsis
      Learn the essential source code of Blender and its unique build system. This book provides the inner workings of the Blender C-based source code, and will be indispensable for those wanting to contribute to this important open-source project.

      Blender is an open-source 3D modeling and rendering software package used in the production of assets for animated projects, 3D printing, games, and even scientific visualization. This book goes in depth and discusses the primary modules related to the GUI and the geometric modeling work. You''ll start by learning how to reverse engineer geometric operators, and from there move on to the main features of the source code and how to apply them. When done, you''ll have the necessary foundation for exploration in other modules of the Blender source code. 

      Lack of software engineering knowledge, such as experience with large cross-platform code base, remains insurmountable for m

      Table of Contents
      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 topology etc.o How BMesh updates data?o How BMesh is linked to Python scripting modules via RNA (Data API)?o Trace of a Hypothetical BMesh update with the following operators Bevel Extrude Knife Cut etc.• Associated source code (modules and files) of bmesh• How BMesh is serialized in the .blend file?• Associated DNA structures and BMesh
      Chapter 8. Adding a Custom Editor ModuleChapter goal: A details set of steps to add a new module to the Blender code base. Provides both an all C-code implementation of an editor, and then an implementation that uses Python to produce the same GUI components. The parallel views further reinforce the material from Chapters 5 & 6.• A Basic Window in Co Adding operators and buttons in C• Adding Operators and Buttons in Pythono How these UI elements map to C functions in core Blender• Adding Source Files for a New Editoro CMake additions for proper system build with a new module (editor)
      Chapter 9. Beyond Core Blender DevelopmentChapter goal: Suggests approaches to reverse engineering and developing non-Core Blender• Modifiers and Other Editors• Cycles Rendering• Physics Simulation

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account