Modeling Blender has support for a variety of geometric primitives, including
polygon meshes,
Bézier curves,
NURBS surfaces,
metaballs,
icospheres, text, and an n-gon modeling system called B-mesh. There is also an advanced
polygonal modelling system which can be accessed through an edit mode. It supports features such as extrusion,
bevelling, and subdividing.
Modifiers Modifiers apply various non-destructive effects which can be applied upon rendering or exporting, such as
subdivision surfaces. These effects are sorted into categories such as generate and deform. A few examples of commonly used modifiers are generally subdivide surface, geometry nodes, solidify, and shrinkwrap.
Sculpting Blender has multi-resolution digital sculpting, which includes dynamic topology, "baking", remeshing, re-symmetrization, and decimation. The latter is used to simplify models for exporting purposes (an example being game assets).
Geometry nodes Blender has a
node graph system for
procedurally and non-destructively creating and manipulating geometry. It was first added to Blender 2.92, which focuses on object scattering and instancing. It takes the form of a modifier, so it can be stacked over other different modifiers. The system uses object attributes, which can be modified and overridden with string inputs. Attributes can include
positions,
normals and
UV maps. All attributes can be viewed in an attribute spreadsheet editor. The Geometry Nodes utility also has the capability of creating primitive meshes. In Blender 3.0, support for creating and modifying curves objects was added to Geometry Nodes; in the same release, the Geometry Nodes workflow was completely redesigned with fields, in order to make the system more intuitive and work like shader nodes.
Simulation Blender can be used to simulate smoke, rain, dust, cloth, fluids, hair, and
rigid bodies.
Fluid simulation The
fluid simulator can be used for simulating liquids, like water being poured into a cup. It uses
Lattice Boltzmann methods (LBM) to simulate fluids and allows for plenty of adjustment of particles and resolution. The particle physics fluid simulation creates particles that follow the
smoothed-particle hydrodynamics method. Blender has simulation tools for
soft-body dynamics, including mesh
collision detection, LBM
fluid dynamics, smoke simulation,
Bullet rigid-body dynamics, an ocean generator with waves, a particle system that includes support for particle-based hair, and real-time control during physics simulation and rendering. In Blender 2.82, a new fluid simulation system called Mantaflow was added, replacing the old FLIP system. In Blender 2.92, another fluid simulation system called APIC, which builds on Mantaflow, was added. Vortices and more stable calculations are improved from the FLIP system.
Cloth Simulation Cloth simulation is done by simulating vertices with a rigid body simulation. If done on a 3D mesh, it will produce similar effects as the soft body simulation.
Animation Blender's keyframed animation capabilities include
inverse kinematics,
armatures, hooks, curve- and
lattice-based deformations,
shape keys, non-linear animation, constraints, and
vertex weighting. In addition, its Grease Pencil tools allow for 2D animation within a full 3D pipeline.
Rendering rendering in Blender Blender includes three render engines since version 2.80: EEVEE, Workbench and Cycles. Cycles is a
path tracing render engine. It supports rendering through both the CPU and the
GPU. Cycles supports the
Open Shading Language since Blender 2.65. Cycles Hybrid Rendering is possible in Version 2.92 with
OptiX. Tiles are calculated with GPU in combination with CPU. EEVEE is a new
physically based real-time renderer. While it is capable of driving Blender's real-time viewport for creating assets thanks to its speed, it can also work as a renderer for final frames. Workbench is a real-time render engine designed for fast rendering during modelling and animation preview. It is not intended for final rendering. Workbench supports assigning colors to objects for visual distinction.
Cycles Cycles is a
path-tracing render engine that is designed to be interactive and easy to use, while still supporting many features. It has been included with Blender since 2011, with the release of Blender 2.61. Cycles supports the Advanced Vector Extensions, AVX2 and
AVX-512 extension sets, as well as CPU acceleration in modern hardware.
Hydra Storm Hydra Storm is a real-time leveraged rendering engine by
Pixar made to keep a consistent look between render engines. It was added in Blender 4.0 and is faster than EEVEE and Cycles for simple scenes, while compromising on quality. It is an addon and must be enabled in Preferences.
GPU rendering Cycles supports
GPU rendering, which is used to speed up rendering times. There are currently five GPU rendering backends: •
CUDA, which is the preferred method for older
Nvidia graphics cards with CUDA capability (generally Kepler architecture and newer). CUDA remains compatible with many NVIDIA cards but is typically slower than
OptiX on RTX hardware. •
OptiX, which is available for Nvidia RTX GPUs based on the
Turing architecture and newer versions of it. It uses dedicated hardware ray-tracing cores to accelerate ray tracing and AI-based denoising. •
HIP, which enables GPU rendering on AMD Radeon graphics cards using the HIP framework. It supports modern AMD GPU architectures and is available on
Windows and
Linux. •
oneAPI for
Intel and
Intel Arc GPUs, through Intel’s oneAPI framework. •
Metal, which is used on Apple computers running
macOS with Apple silicon (such as M1, M2, and later processors) and supported AMD GPUs.
Metal support was introduced in Blender 3.1 and has since been expanded and optimized. GPU rendering typically requires compatible graphics drivers installed on the system. Blender automatically detects supported
GPU devices through these drivers without requiring manual installation of development toolkits in most cases. Multiple GPUs are also supported (with the notable exception of the Eevee render engine) which can be used to create a
render farm to speed up rendering by processing frames or tiles in parallel—having multiple GPUs, however, does not increase the available memory since each GPU can only access its own memory. Since Version 2.90, this limitation of
SLI cards is broken with Nvidia's
NVLink.
Integrator The integrator is the core
rendering algorithm used for
lighting computations. Cycles currently supports a
path tracing integrator with direct light sampling. It works well for a variety of lighting setups, but it is not as suitable for
caustics and certain other complex lighting situations.
Rays are traced from the camera into the scene, bouncing around until they find a light source (a lamp, an object material emitting light, or the world background), or until they are simply terminated based on the number of maximum bounces determined in the light path settings for the renderer. To find lamps and surfaces emitting light, both indirect light sampling (letting the ray follow the surface
bidirectional scattering distribution function, or BSDF) and direct light sampling (picking a light source and tracing a ray towards it) are used. The default path tracing integrator is a "pure" path tracer. This integrator works by sending several
light rays that act as
photons from the camera out into the scene. These rays will eventually hit either: a light source, an object, or the world background. If these rays hit an object, they will bounce based on the angle of impact, and continue bouncing until a light source has been reached or until a maximum number of bounces, as determined by the user, which will cause it to terminate and result in a black, unlit pixel. Multiple rays are calculated and averaged out for each pixel, a process known as "sampling". This sampling number is set by the user and greatly affects the final image. Lower sampling often results in more noise and has the potential to create "fireflies" (which are uncharacteristically bright pixels), while higher sampling greatly reduces noise, but also increases render times. The alternative is a branched path tracing integrator, which works mostly the same way. Branched path tracing splits the light rays at each intersection with an object according to different surface components, and takes all lights into account for shading instead of just one. This added complexity makes computing each ray slower but reduces noise in the render, especially in scenes dominated by direct (one-bounce) lighting. This was removed in Blender 3.0 with the advent of Cycles X, as improvements to the pure path tracing integrator made the branched path tracing integrator redundant.
Open Shading Language Blender users can create their own
nodes using the
Open Shading Language (OSL); this allows users to create materials that are entirely procedural, which allows them to be used on any objects without stretching the texture as opposed to image-based textures which need to be made to fit a certain object. (Note that the shader nodes editor is shown in the image, although mostly correct, has undergone a slight change, changing how the UI is structured and looks).
Materials Materials define the look of
meshes,
NURBS curves, and other geometric objects. They consist of three
shaders to define the mesh's surface appearance, volume inside, and surface displacement. This render engine was given the nickname EEVEE, after
the Pokémon species. The name was later made into the
backronym "Extra Easy Virtual Environment Engine" or EEVEE. With the release of Blender 4.2 LTS in July 2024, EEVEE received an overhaul by its lead developer, Clément Foucault, called EEVEE Next. EEVEE Next boasts a variety of new features for Blender's real-time and
rasterised renderer, including screen-space
global illumination (SSGI), virtual
shadowmapping, sunlight extraction from HDRIs, and a rewritten system for reflections and indirect lighting via light probe volumes and cube maps. EEVEE Next also brings improved volumetric rendering, along with support for
displacement shaders and an improved
depth of field system similar to Cycles. As of the Blender 5.0 beta, "EEVEE Next" is to be known simply as "EEVEE". Plans for future releases of EEVEE include support for hardware-accelerated
ray-tracing and continued improvements to performance and shader compilation.
External renderers Free and open-source: • Mitsuba Renderer • YafaRay (previously Yafray) •
LuxCoreRender (previously LuxRender) • Appleseed Renderer •
POV-Ray • NOX Renderer • Armory3D – a free and open source
game engine for Blender written in
Haxe •
Radeon ProRender – Radeon ProRender for Blender • Malt Render – a
non-photorealistic renderer with GLSL shading capabilities
Proprietary: •
Pixar RenderMan – Blender render addon for RenderMan •
Octane Render – OctaneRender plugin for Blender • Indigo Renderer – Indigo for Blender •
V-Ray – V-Ray for Blender, V-Ray Standalone is needed for rendering •
Maxwell Render – B-Maxwell addon for Blender • Thea Render – Thea for Blender • Corona Renderer – Blender To Corona exporter, Corona Standalone is needed for rendering
Texturing and shading Blender allows procedural and node-based textures, as well as
texture painting, projective painting,
vertex painting,
weight painting and dynamic painting.
Post-production Blender has a node-based compositor within the rendering pipeline, which is accelerated with
OpenCL, and in 4.0 it supports GPU. It also includes a non-linear video editor called the Video Sequence Editor (VSE), with support for effects like
Gaussian blur,
color grading, fade and
wipe transitions, and other video transformations.
Plugins/addons and scripts Blender supports
Python scripting for the creation of custom tools, prototyping, importing/exporting from other formats, and task automation. This allows for integration with several external render engines through plugins/addons. Blender itself can also be compiled & imported as a Python library for further automation and development. Additionally, Blender supports many addons and plugins that can make certain tasks easier for users.
Deprecated features Blender Game Engine The Blender Game Engine was a built-in real-time graphics and logic engine with features such as
collision detection, a dynamics engine, and programmable logic. It also allowed the creation of stand-alone, real-time applications ranging from architectural visualization to video games. In April 2018, the engine was removed from the upcoming Blender 2.8 release series, due to updates and revisions to the engine lagging behind other game engines such as
Unity and the open-source Godot.
File format Blender features an internal file system that can pack multiple scenes into a single ".blend" file. • Most of Blender's ".blend" files are forward, backward, and cross-platform compatible with other versions of Blender, with the following exceptions: • Loading animations stored in post-2.5 files in Blender pre-2.5. This is due to the reworked animation subsystem introduced in Blender 2.5 being inherently incompatible with older versions. • Loading meshes stored in post 2.63. This is due to the introduction of BMesh, a more versatile mesh format. • Blender 2.8 ".blend" files are no longer fully backward compatible, causing errors when opened in previous versions. • Many 3.x ".blend" files are not completely backwards-compatible as well, and may cause errors with previous versions. • 5.x and later ".blend" files will not load on Blender versions earlier than 4.5. However, Blender 4.5 can be used as a bridge to convert 5.x and later files to be used in versions pre-4.5. • All scenes, objects,
materials, textures, sounds, images, and post-production effects for an entire animation can be packaged and stored in a single ".blend" file. Data loaded from external sources, such as images and sounds, can also be stored externally and referenced through either an absolute or relative file path. Likewise, ".blend" files themselves can also be used as libraries of Blender assets. • Interface configurations are retained in ".blend" files. A wide variety of import/export scripts that extend Blender capabilities (accessing the object data via an internal
API) make it possible to interoperate with other 3D tools. Blender organizes data as various kinds of "data blocks" (akin to
glTF), such as Objects, Meshes, Lamps, Scenes, Materials, Images, and so on. An object in Blender consists of multiple data blocks – for example, what the user would describe as a polygon mesh consists of at least an Object and a Mesh data block, and usually also a Material and many more, linked together. This allows various data blocks to refer to each other. There may be, for example, multiple Objects that refer to the same Mesh, and making subsequent editing of the shared mesh results in shape changes in all Objects using this Mesh. Objects, meshes, materials, textures, etc. can also be linked to other .blend files, which is what allows the use of .blend files as reusable resource libraries. ==File formats supported==