# blender/blender

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/blender-blender).**

17,538 stars · 2,749 forks · C++ · other

## Links

- GitHub: https://github.com/blender/blender
- Homepage: https://developer.blender.org/docs/handbook/contributing/using_git/#github-mirror
- awesome-repositories: https://awesome-repositories.com/repository/blender-blender.md

## Topics

`3d` `animation` `b3d` `computer-graphics` `modeling` `rendering`

## Description

Blender is a professional 3D creation suite designed for modeling, animation, rendering, and video editing. It functions as an open-source 3D engine that provides a comprehensive framework for procedural geometry, physics simulation, and high-quality visual output. The platform is built upon a foundational architecture that utilizes data-block-based memory management and a dependency-graph-based evaluation system to handle complex scene transformations and geometry updates.

The software distinguishes itself through a highly modular, node-based procedural architecture that allows users to construct geometry, materials, and logic through a shared, graph-oriented system. It features a sophisticated asset management system that supports linked data modification and override-based asset linking, enabling users to maintain connections to external source files while applying local modifications. This system is further extended by a Python scripting API, which allows for programmatic access to core data structures and the integration of custom tools.

Beyond its core creative capabilities, the project includes extensive tooling for cross-platform software development and automated quality assurance. It provides a unified interface for managing 3D production assets, including metadata indexing, catalog organization, and external library mounting. The environment is designed for extensibility, featuring dynamic type registration and a modular user interface that supports custom layouts and interactive workflows.

The repository provides a complete development environment, including automated build tasks, unit test execution, and performance benchmarking tools to maintain codebase stability.

## Tags

### Graphics & Multimedia

- [3D Modeling Software](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/3d-modeling-software.md) — Provides a professional software platform for modeling, animation, rendering, and video editing. ([source](https://developer.blender.org/docs/))
- [3D Engines](https://awesome-repositories.com/f/graphics-multimedia/3d-engines.md) — Functions as a comprehensive framework for procedural geometry, physics simulation, and high-quality rendering.
- [Mesh Modeling Tools](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/3d-math-and-geometry-toolkits/mesh-modeling-tools.md) — Constructs complex three-dimensional shapes using polygon meshes, curves, and sculpting tools to define the structure and surface of digital objects. ([source](https://developer.blender.org/docs/features/))
- [High-Quality Scene Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/3d-graphics-pipelines/scene-renderers/high-quality-scene-rendering.md) — Calculates lighting, shadows, and textures to generate high-quality images and video sequences from three-dimensional scene data. ([source](https://developer.blender.org/docs/))
- [Node-Based Procedural Geometry](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/3d-math-and-geometry-toolkits/geometry-primitives/node-based-procedural-geometry.md) — Builds complex 3D shapes and structures using a node-based visual system that allows for non-destructive editing and parametric design. ([source](https://developer.blender.org/docs/handbook/design/examples/))
- [Procedural Geometry Systems](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/animation-tools/mathematical-visualization-engines/3d-surface-visualizations/3d-visual-effects/procedural-geometry-systems.md) — Builds complex 3D shapes using node-based visual systems that allow for non-destructive editing and parametric design.
- [Node-Based Material Generation](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/procedural-texture-generators/node-based-material-generation.md) — Generates surface textures and properties mathematically using node groups to eliminate the need for external image files while exposing high-level parameters. ([source](https://developer.blender.org/docs/features/asset_system/asset_bundles/materials/))
- [Cinematic Animation Sequences](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/animation-tools/keyframe-skeletal-systems/keyframe-animations/cinematic-animation-sequences.md) — Defines movement and transformation of objects over time using keyframes, rigging, and motion paths to create cinematic sequences. ([source](https://developer.blender.org/docs/features/))
- [3D Character Sculpting Tools](https://awesome-repositories.com/f/graphics-multimedia/3d-character-sculpting-tools.md) — Blender provides pre-built base meshes for sculpting humanoid characters that support both multiresolution modification and voxel remeshing workflows. ([source](https://developer.blender.org/docs/features/asset_system/asset_bundles/human_base_meshes/))
- [Video Editing](https://awesome-repositories.com/f/graphics-multimedia/video-production/video-editing.md) — Assembles and processes video clips, audio tracks, and visual effects within a timeline-based non-linear editing environment. ([source](https://developer.blender.org/docs/))
- [Scene Management Systems](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/scene-management-systems.md) — Organizes and manages the hierarchical structure of visible objects and particles within a 3D scene for rendering. ([source](https://developer.blender.org/docs/features/core/depsgraph/))
- [External Library Management](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/media-management-production/media-management-systems/external-library-management.md) — Connects local directories to the workspace to allow access and import of custom or bundled content. ([source](https://developer.blender.org/docs/features/asset_system/asset_bundles/guidelines/))

### Data & Databases

- [Asset Management Systems](https://awesome-repositories.com/f/data-databases/asset-management-systems.md) — Centralizes the organization, linking, and overriding of reusable 3D data blocks across production projects.
- [Asset Management](https://awesome-repositories.com/f/data-databases/asset-management.md) — Provides a centralized interface to access and organize collections of assets, catalogs, and external libraries. ([source](https://developer.blender.org/docs/features/asset_system/backend/asset_list_api/))
- [Production Asset Management](https://awesome-repositories.com/f/data-databases/file-asset-management/3d-asset-managers/production-asset-management.md) — Organizes and tracks complex 3D project components through a centralized system handling storage and metadata.
- [Asset Collections](https://awesome-repositories.com/f/data-databases/asset-managers/contextual-asset-libraries/asset-collections.md) — Blender groups individual assets into logical collections that remain consistent regardless of the underlying file structure or the physical location of source files. ([source](https://developer.blender.org/docs/features/asset_system/backend/asset_catalogs/))
- [Library Containers](https://awesome-repositories.com/f/data-databases/asset-management/asset-library-identifiers/library-containers.md) — Blender groups asset representations into containers that provide centralized storage and access for catalogs and metadata across local or external files. ([source](https://developer.blender.org/docs/features/asset_system/backend/))
- [Override-Based Asset Hierarchies](https://awesome-repositories.com/f/data-databases/asset-management/override-based-asset-hierarchies.md) — Enables complex asset instances like rigged characters to be modified locally while maintaining connections to source data. ([source](https://developer.blender.org/docs/features/core/overrides/library/))
- [Data-Block Management](https://awesome-repositories.com/f/data-databases/data-persistence/data-block-management.md) — Manages the lifecycle of core data structures representing persistent assets and UI states. ([source](https://developer.blender.org/docs/features/core/datablocks/))
- [Contextual Asset Libraries](https://awesome-repositories.com/f/data-databases/asset-managers/contextual-asset-libraries.md) — Provides quick access to specific asset collections directly within active editors to streamline task-specific workflows. ([source](https://developer.blender.org/docs/features/asset_system/user_interface/asset_shelf/))
- [Transient Data Blocks](https://awesome-repositories.com/f/data-databases/block-storage/transient-data-blocks.md) — Tracks short-lived data structures during processing tasks to handle evaluated results without affecting the primary project. ([source](https://developer.blender.org/docs/features/core/datablocks/runtime/))
- [Registration Interfaces](https://awesome-repositories.com/f/data-databases/custom-data-types/registration-interfaces.md) — Blender defines new datablock types through a standardized interface of callbacks to replace centralized switch statements and hardcoded logic. ([source](https://developer.blender.org/docs/features/core/proposals/extensibility/))
- [Data Modification APIs](https://awesome-repositories.com/f/data-databases/data-modification-apis.md) — Applies local changes to referenced data assets while maintaining connections to source files for propagation. ([source](https://developer.blender.org/docs/features/core/overrides/))

### Software Engineering & Architecture

- [Procedural Node Systems](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/foundational-theory-and-guidance/software-architecture-principles/node-based-architectures/procedural-node-systems.md) — Constructs complex geometry, materials, and logic through a shared, graph-oriented node system.
- [Reference-Counted Asset Blocks](https://awesome-repositories.com/f/software-engineering-architecture/block-based-data-models/reference-counted-asset-blocks.md) — Blender maintains references between data blocks using usage counters and remapping to ensure integrity when assets are moved, copied, or deleted. ([source](https://developer.blender.org/docs/features/core/datablocks/))
- [Cross-Platform Development](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-development.md) — Supports building and maintaining large-scale C++ and Python applications with automated build and testing workflows.
- [Unified Scene Architectures](https://awesome-repositories.com/f/software-engineering-architecture/declarative-3d-scene-graphs/unified-scene-architectures.md) — Organizes complex geometric and scene information into a unified architecture that supports the entire lifecycle of 3D content creation and manipulation. ([source](https://developer.blender.org/docs/features/core/))
- [Project Data Structures](https://awesome-repositories.com/f/software-engineering-architecture/project-management-governance/repository-maintenance/project-organization/project-data-structures.md) — Organizes all scene assets and runtime information into a centralized structure mirroring the project file. ([source](https://developer.blender.org/docs/features/core/datablocks/main/))
- [Reflection-Based Property Accessors](https://awesome-repositories.com/f/software-engineering-architecture/reflection-based-unmarshallers/reflection-based-property-accessors.md) — Provides a unified runtime interface to inspect and manipulate object properties dynamically without direct memory access.
- [Property Change Observers](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/state-management/change-detection/property-change-observers.md) — Blender triggers automated callbacks and notifications when data values change to ensure dependencies remain synchronized and user interfaces reflect the current state. ([source](https://developer.blender.org/docs/features/core/rna/))
- [Data-Block Memory Management](https://awesome-repositories.com/f/software-engineering-architecture/block-based-data-models/data-block-memory-management.md) — Organizes 3D assets into memory blocks with standardized properties to ensure consistent handling of creation, copying, and deletion across the application. ([source](https://developer.blender.org/docs/features/core/datablocks/id_type/))
- [Third-Party Plugins](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/third-party-plugins.md) — Blender integrates third-party scripts and tools into the core environment to extend functionality for modeling, animation, and rendering workflows. ([source](https://developer.blender.org/docs/handbook/extensions/))
- [Undo-Redo Management](https://awesome-repositories.com/f/software-engineering-architecture/undo-redo-management.md) — Maintains a stack of stateful changes to support project-wide undo and redo operations. ([source](https://developer.blender.org/docs/features/core/undo/))

### Development Tools & Productivity

- [Dependency Graph Evaluators](https://awesome-repositories.com/f/development-tools-productivity/dependency-graph-runners/dependency-graph-evaluators.md) — Computes scene transformations and geometry updates through a modular, thread-safe dependency graph.
- [Application Scripting APIs](https://awesome-repositories.com/f/development-tools-productivity/open-source-software/modular-cad-platforms/python-scripting-engines/application-scripting-apis.md) — Provides an integrated interface for extending functionality and programmatically accessing core 3D data structures.
- [Python Scripting Engines](https://awesome-repositories.com/f/development-tools-productivity/open-source-software/modular-cad-platforms/python-scripting-engines.md) — Blender invokes external Python scripts from native code to perform data processing, automatically synchronizing modified variables back into the host application state. ([source](https://developer.blender.org/docs/handbook/tooling/pyfromc/))
- [Release Management](https://awesome-repositories.com/f/development-tools-productivity/release-management.md) — Generates official installers and release candidates by automating the packaging process and versioning. ([source](https://developer.blender.org/docs/handbook/tooling/buildbot/))
- [Radial Command Menus](https://awesome-repositories.com/f/development-tools-productivity/command-execution-interfaces/radial-command-menus.md) — Displays radial menus that allow users to trigger operators through rapid, muscle-memory-based directional movements. ([source](https://developer.blender.org/docs/features/interface/human_interface_guidelines/layouts/))
- [Project Organization Tools](https://awesome-repositories.com/f/development-tools-productivity/project-organization-tools.md) — Organizes 3D data blocks into searchable libraries with tags and descriptions for quick retrieval and reuse. ([source](https://developer.blender.org/docs/features/asset_system/))

### Business & Productivity Software

- [Digital Asset Managers](https://awesome-repositories.com/f/business-productivity-software/digital-asset-managers.md) — Centralizes the organization, storage, and retrieval of 3D project components for complex production workflows. ([source](https://developer.blender.org/docs/features/asset_system/fundamentals/architectural_overview/))

### DevOps & Infrastructure

- [Differential Property Overrides](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/configuration-resolution-engines/configuration-overrides/resource-overrides/differential-property-overrides.md) — Allows local modifications to external assets while maintaining connections to source files via differential property overrides.
- [Asset Overrides](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/configuration-resolution-engines/configuration-overrides/resource-overrides/override-synchronizers/asset-overrides.md) — Enables local modification of linked assets while maintaining a connection to the original source data. ([source](https://developer.blender.org/docs/features/core/overrides/library/))
- [Asset Override Synchronization](https://awesome-repositories.com/f/devops-infrastructure/over-the-air-update-services/asset-override-synchronization.md) — Blender updates local overrides when the structure or relationships of the source linked data change, ensuring edits are preserved while reflecting modifications made in the library. ([source](https://developer.blender.org/docs/features/core/overrides/library/))
- [Asset Metadata Indexers](https://awesome-repositories.com/f/devops-infrastructure/asset-metadata-management/asset-metadata-indexers.md) — Extracts and caches asset information into local index files to accelerate library loading and browsing performance. ([source](https://developer.blender.org/docs/features/asset_system/backend/asset_index/))

### User Interface & Experience

- [Graphical User Interfaces](https://awesome-repositories.com/f/user-interface-experience/graphical-user-interfaces.md) — Constructs interactive visual workspaces using a unified system of windows, panels, and widgets. ([source](https://developer.blender.org/docs/features/interface/))
- [User Interface & Experience](https://awesome-repositories.com/f/user-interface-experience.md) — Organizes visual elements to minimize distraction and maintain layout stability for action-oriented workflows. ([source](https://developer.blender.org/docs/features/interface/human_interface_guidelines/best_practices/))
- [Optical Simulation](https://awesome-repositories.com/f/user-interface-experience/camera-systems/optical-simulation.md) — Models physical lens characteristics and camera settings to achieve realistic depth of field and perspective in rendered scenes. ([source](https://developer.blender.org/docs/handbook/design/examples/))
- [Widget Drawing Hierarchies](https://awesome-repositories.com/f/user-interface-experience/component-hierarchies/widget-drawing-hierarchies.md) — Organizes interface elements into a tree structure with dedicated drawing callbacks to support interactive workflows.
- [Drag-based Manipulation](https://awesome-repositories.com/f/user-interface-experience/terminal-user-interfaces/item-navigation-and-selection/drag-based-manipulation.md) — Allows users to select and move objects by detecting mouse movement during a click. ([source](https://developer.blender.org/docs/features/interface/human_interface_guidelines/selection/))

### Programming Languages & Runtimes

- [Runtime Type Registrars](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtimes/type-definition-systems/runtime-type-registrars.md) — Enables dynamic definition of data structures at startup, eliminating the need for centralized static processing.
