Blender (software)


Blender is a free and open-source 3D computer graphics software toolset used for creating animated films, visual effects, art, 3D printed models, motion graphics, interactive 3D applications, virtual reality and computer games. Blender's features include 3D modeling, UV unwrapping, texturing, raster graphics editing, rigging and skinning, fluid and smoke simulation, particle simulation, soft body simulation, sculpting, animating, match moving, rendering, motion graphics, video editing, and compositing.

History

The Dutch animation studio NeoGeo started to develop Blender as an in-house application, and based on the timestamps for the first source files, January 2, 1994 is considered to be Blender's birthday. The version 1.00 was released in January 1995, with the primary author being company co-owner and software developer Ton Roosendaal. The name Blender was inspired by a song by the Swiss electronic band Yello, from the album Baby which NeoGeo used in its showreel. Some of the design choices and experiences for Blender were carried over from an earlier software application, called Traces, that Roosendaal developed for NeoGeo on the Commodore Amiga platform during the 1987–1991 period.
On January 1, 1998, Blender was released publicly online as SGI freeware. NeoGeo was later dissolved and its client contracts were taken over by another company. After NeoGeo's dissolution, Ton Roosendaal founded Not a Number Technologies in June 1998 to further develop Blender, initially distributing it as shareware until NaN went bankrupt in 2002. This also meant, at the time, discontinuing the development of Blender.
In May 2002, Roosendaal started the non-profit Blender Foundation, with the first goal to find a way to continue developing and promoting Blender as a community-based open-source project. On July 18, 2002, Roosendaal started the "Free Blender" campaign, a crowdfunding precursor. The campaign aimed at open-sourcing Blender for a one-time payment of €100,000, with the money being collected from the community. On September 7, 2002, it was announced that they had collected enough funds and would release the Blender source code. Today, Blender is free and open-source software, largely developed by its community as well as 15 employees employed by the Blender Institute.
The Blender Foundation initially reserved the right to use dual licensing, so that, in addition to GPLv2, Blender would have been available also under the Blender License that did not require disclosing source code but required payments to the Blender Foundation. However, they never exercised this option and suspended it indefinitely in 2005. Blender is solely available under "GNU GPLv2 or any later" and was not updated to the GPLv3, as "no evident benefits" were seen.
In 2019, with the release of version 2.80, the integrated game engine for making and prototyping video games was removed; Blender's developers recommended users migrate to more powerful open source game engines such as Godot instead.

Suzanne, the "monkey" mascot

In January–February 2002 it was clear that NaN could not survive and would close its doors in March. Nevertheless, they put out one more release, 2.25. As a sort-of easter egg, and last personal tag, the artists and developers decided to add a 3D model of a chimpanzee head, although it is called a "monkey" in the software. It was created by Willem-Paul van Overbruggen, who named it Suzanne after the orangutan in the Kevin Smith film Jay and Silent Bob Strike Back.
Suzanne is Blender's alternative to more common test models such as the Utah Teapot and the Stanford Bunny. A low-polygon model with only 500 faces, Suzanne is included in Blender and often used as a quick and easy way to test materials, animations, rigs, textures, and lighting setups. The largest Blender contest gives out an award called the Suzanne Award.

Releases

Official releases of Blender for Microsoft Windows, and Linux, as well as a port for FreeBSD, are available in both 32-bit and 64-bit versions. Blender is available for Windows 7 and above, Mac OS X 10.6 and above, and Linux. Blender 2.76b is the last supported release for Windows XP and version 2.63 was the last supported release for PowerPC.

Hardware requirements

Release history

The following table lists notable developments during Blender's release history: green indicates the current version, yellow indicates currently supported versions, and red indicates versions that are no longer supported.
VersionRelease DateNotes and key changes
2002Handbook The official Blender 2.0 guide.
October 13, 2002First ever free version.
November 22, 2003New GUI; edits are now revertible.
February 3, 2004Ray tracing in internal renderer; support for YafaRay.
August 5, 2004LSCM-UV-Unwrapping, object-particle interaction.
May 31, 2005Simulation of elastic surfaces; improved subdivision surface.
December 22, 2005Greatly improved system and character animations, and added a fluid and hair simulator. New functionality was based on Google Summer of Code 2005.
January 25, 2006Improvements of the game engine, improved UV mapping, recording of the Python scripts for sculpture or sculpture works with the help of grid or mesh and set-chaining models.
July 14, 2006The film Elephants Dream resulted in high development as a necessity. In particular, the Node-System has been implemented.
February 16, 2007Sculpt-Modeling as a result of Google Summer of Code 2006.
May 19, 2008With the production of Big Buck Bunny, Blender gained the ability to produce grass quickly and efficiently.
October 14, 2008Due to development of Yo Frankie!, the game engine was improved substantially.
June 13, 2009New window and file manager, new interface, new Python API, and new animation system.
April 13, 2011First official stable release of 2.5 branch: new interface, new window manager and rewritten event — and tool — file processing system, new animation system, and new Python API.
June 22, 2011New features, such as the addition of the warp modifier and render baking. Improvements in sculpting.
July 4, 2011Some bug fixes, along with small extensions in GUI and Python interface.
August 13, 20113D mouse support.
October 19, 2011Developer branches integrated into the main developer branch: among other things, B-mesh, a new rendering/shading system, NURBS, to name a few, directly from Google Summer of Code.
December 14, 2011Render-Engine Cycles, Motion Tracking, Dynamic Paint, and Ocean Simulator.
February 16, 2012Motion tracking improvement, further expansion of UV tools, and remesh modifier. The first version to include the Cycles render engine.
April 27, 2012Bug fixes, B-mesh project: completely new mesh system with n-corners, plus new tools: dissolve, inset, bridge, vertex slide, vertex connect, and bevel.
October 3, 2012Green screen keying, node-based compositing.
December 10, 2012Over 200 bug fixes, support for the Open Shading Language, and fire simulation.
February 21, 2013Rigid body simulation available outside of the game engine, dynamic topology sculpting, hair rendering now supported in Cycles.
May 7–30, 2013Freestyle rendering mode for non-photographic rendering, subsurface scattering support added, the motion tracking solver is made more accurate and faster, and an add-on for 3D printing now comes bundled.
July 18, 2013Rendering performance is improved for CPUs and GPUs, support for NVIDIA Tesla K20, GTX Titan and GTX 780 GPUs. Smoke rendering improved to reduce blockiness.
October 31, 2013Motion tracking now supports plane tracking, and hair rendering has been improved.
March 19, 2014Initial support for volume rendering and small improvements to the user interface.
June 26, 2014Support for baking in Cycles and volume rendering branched path tracing now renders faster.
October 4, 2014Volume rendering for GPUs, more features for sculpting and painting.
January 8, 2015New fullscreen mode, improved Pie Menus, 3D View can now display the world background.
March 31, 2015Cycles got several precision, noise, speed, memory improvements, and a new Pointiness attribute.
July 1, 2015Blender now supports a fully integrated Multi-View and Stereo 3D pipeline, Cycles has much awaited initial support for AMD GPUs, and a new Light Portals feature.
November 3, 2015Cycles volume density render, Pixar OpenSubdiv mesh subdivision library, node inserting, and video editing tools.
April 6, 2016Improvements to Cycles, new features for the Grease Pencil, more support for OpenVDB, updated Python library and support for Windows XP has been removed.
February 28, 2017Spherical stereo rendering for virtual reality, Grease Pencil improvements for 2D animations, Freehand curves drawing over surfaces, Bendy Bones, Micropolygon displacements, and Adaptive Subdivision. Cycles performance improvements.
September 11, 2017Cycles denoiser, improved OpenCL rendering support, Shadow Catcher, Principled BSDF Shader, Filmic color management, improved UI and Grease Pencil functionality, improvements in Alembic import and export, surface deformities modifier, better animation keyframing, simplified video encoding, Python additions and new add-ons.
July 30, 2019Revamped UI, added a dark theme, EEVEE realtime rendering engine on OpenGL, Principled shader, Workbench viewport Grease Pencil 2D animation tool, multi-object editing, collections, GPU+CPU rendering, Rigify.
November 21, 2019OpenVDB voxel remesh, transparent BSDF, brush curves preset in sculpting, WebM support.
February 14, 2020Improved fluid and smoke simulation, support, USD exportand 2 new sculpting tools.
June 3, 2020Improved performance and user interface with the grease pencil tool, added VR capability, hair simulation uses same physics as cloth simulation, cloth self-collision has been optimized with 15-20% performance increase, bug fixes and usability improvements for fluid systems, new cloth brush added, new clay thumb brush, layer brush was redesigned, voxel remesh can be previewed, voxel mode added for remesh modifier, multiresolution rewritten to resolve artifacts, adaptive sampling for cycles, Eevee supports more passes to make it more viable for final renders.

Features

Modeling

Primitives

Blender has support for a variety of geometric primitives, including polygon meshes, fast subdivision surface modeling, Bezier curves, NURBS surfaces, metaballs, icospheres, text, and an n-gon modeling system called B-mesh.

Modifiers

Modifiers apply non-destructive effects.

Sculpting

Blender has multi-res digital sculpting, which includes dynamic topology, maps baking, remeshing, re-symmetrize, and decimation.

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 hitting a cup. It uses the Lattice Boltzmann methods to simulate the fluids and allows for lots of adjusting of the amount of particles and the resolution.
The particle physics fluid simulation creates particles that follow the Smoothed-particle hydrodynamics method. Simulation tools for soft body dynamics including mesh collision detection, LBM fluid dynamics, smoke simulation, Bullet rigid body dynamics, and an ocean generator with waves. A particle system that includes support for particle-based hair. Real-time control during physics simulation and rendering.
In Blender 2.82 a new fluid sim system called mantaflow was added, replacing the old system.

Animation

Keyframed animation tools including inverse kinematics, armature, hook, curve and lattice-based deformations, shape animations, non-linear animation, constraints, and vertex weighting.

Grease Pencil

Blender's Grease Pencil tools allow for 2D animation within a full 3D pipeline.

Rendering

Internal render engine with scanline rendering, indirect lighting, and ambient occlusion that can export in a wide variety of formats; A path tracer render engine called Cycles, which can take advantage of the GPU for rendering. Cycles supports the Open Shading Language since Blender 2.65.
Eevee is a new physically based real-time renderer. It works both as a renderer for final frames, and as the engine driving Blender's realtime viewport for creating assets. Blender Internal was removed in 2.8.

Texture 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 accelerated with OpenCL.
Blender also includes a non-linear video editor called the Video Sequence Editor, with support for effects like Gaussian blur, color grading, fade and wipe transitions, and other video transformations. However, there is no multi-core support for rendering video with the VSE.

Plugins/addons and scripts

Blender supports Python scripting for creation of custom tools, prototyping, game logic, importing/exporting from other formats and task automation. This allows for integration with a number of external render engines through plugins/addons.

Deprecated features

The Blender Game Engine was a built-in real-time graphics and logic engine with features such including 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 it was removed from the upcoming Blender 2.8 release series, having long lagged behind other game engines such as the open-source Godot, and Unity. In the 2.8 announcement, the Blender team specifically mentioned the Godot engine as a suitable replacement for migrating Blender Game Engine users.
Blender Internal, a biased rasterization engine / scanline renderer used in the previous versions of Blender was also removed for the 2.80 release, in favor of the new Eevee renderer, a realtime PBR renderer.

File format

Blender features an internal file system that can pack multiple scenes into a single file.
A wide variety of import/export scripts that extend Blender capabilities make it possible to interoperate with other 3D tools.
Blender organizes data as various kinds of "data blocks", 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 result in shape changes in all Objects using this Mesh. Objects, meshes, materials, textures etc. can also be linked to from other.blend files, which is what allows the use of.blend files as reusable resource libraries.

Import and export

The software supports a variety of 3D file formats for import and export, among them Alembic, 3D Studio, Filmbox, Autodesk, SVG, STL, UDIM, USD, VRML, WebM, X3D and Obj.

User interface

Commands

Most of the commands are accessible via hotkeys. There are also comprehensive graphical menus. Numeric buttons can be "dragged" to change their value directly without the need to aim at a particular widget, as well as being set using the keyboard. Both sliders and number buttons can be constrained to various step sizes with modifiers like the and keys. Python expressions can also be typed directly into number entry fields, allowing mathematical expressions to specify values.

Modes

Blender includes many modes for interacting with objects, the two primary ones being Object Mode and Edit Mode, which are toggled with the key. Object mode is used to manipulate individual objects as a unit, while Edit mode is used to manipulate the actual object data. For example, Object Mode can be used to move, scale, and rotate entire polygon meshes, and Edit Mode can be used to manipulate the individual vertices of a single mesh. There are also several other modes, such as Vertex Paint, Weight Paint, and Sculpt Mode.

Workspaces

The Blender GUI builds its own tiled windowing system on top of one or multiple windows provided by the underlying platform. One platform window is divided into sections and subsections that can be of any type of Blender's views or window-types. The user can define multiple layouts of such Blender windows, called screens, and switch quickly between them by selecting from a menu or with keyboard shortcuts. Each window-type's own GUI elements can be controlled with the same tools that manipulate 3D view. For example, one can zoom in and out of GUI-buttons using similar controls, one zooms in and out in the 3D viewport. The GUI viewport and screen layout are fully user-customizable. It is possible to set up the interface for specific tasks such as video editing or UV mapping or texturing by hiding features not used for the task.

Rendering engines

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.

GPU rendering

Cycles supports GPU rendering, which is used to speed up rendering times. There are three GPU rendering modes: CUDA, which is the preferred method for older Nvidia graphics cards; OptiX, which utilizes the hardware ray-tracing capabilities of Nvidia's Turing architecture; and OpenCL, which supports rendering on AMD graphics cards.
Multiple GPUs are also supported, which can be used to create a render farm – although having multiple GPUs doesn't increase the available memory, because each GPU can only access its own memory.

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, 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 and direct light sampling are used.
The two types of integrators
  1. The default path tracing integrator is a "pure" path tracer. This integrator works by sending a number of 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 individual 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", while higher sampling greatly reduces noise, but also increases render times.
  2. 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 lighting.

    Open Shading Language

Blender users can create their own nodes using the Open Shading Language, although it is important to note that this feature is not supported by GPUs.
metallic materials

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.
Surface shader
The surface shader defines the light interaction at the surface of the mesh. One or more bidirectional scattering distribution functions, or BSDFs, can specify if incoming light is reflected, refracted into the mesh, or absorbed. The alpha value is one measure of translucency.
Volume shader
When the surface shader does not reflect or absorb light, it enters the volume. If no volume shader is specified, it will pass straight through to another side of the mesh.
If one is defined, a volume shader describes the light interaction as it passes through the volume of the mesh. Light may be scattered, absorbed, or even emitted at any point in the volume.
Displacement shader
The shape of the surface may be altered by displacement shaders. In this way, textures can be used to make the mesh surface more detailed.
Depending on the settings, the displacement may be virtual – only modifying the surface normals to give the impression of displacement – real, or a combination of real displacement with bump mapping.

Eevee

renderer. Render engine has been nicknamed Eevee, later coined backronym — Extra Easy Virtual Environment Engine. Included in Blender from version 2.8.

Workbench

Using the default 3D viewport drawing system for modeling, texturing, etc.

Others

External renderers

Proprietary:
Blender's non photorealistic renderer. It was removed from Blender in version 2.8.
Render clay
An add-on by Fabio Russo; it overwrites materials in Blender Internal or Cycles with a clay material in a chosen diffuse color. Included in Blender version 2.79.

Blender Game Engine

A real-time renderer removed in 2019 with the release of 2.8.

Development

Since the opening of the source code, Blender has experienced significant refactoring of the initial codebase and major additions to its feature set.
Improvements include an animation system refresh; a stack-based modifier system; an updated particle system ; fluid dynamics; soft-body dynamics; GLSL shaders support in the game engine; advanced UV unwrapping; a fully recoded render pipeline, allowing separate render passes and "render to texture"; node-based material editing and compositing; and projection painting.
Part of these developments were fostered by Google's Summer of Code program, in which the Blender Foundation has participated since 2005.

Blender 2.8

Official planning for the next major revision of Blender after the 2.7 series began in the latter half of 2015, with potential targets including a more configurable UI, support for Physically based rendering to bring improved realtime 3D graphics to the viewport, allowing the use of C++11 and C99 in the codebase, moving to a newer version of OpenGL and dropping support for versions before 3.2, and a possible overhaul of the particle and constraint systems. Blender Internal renderer has been removed from 2.8. Code Quest was a project started in April 2018 set in Amsterdam, at the Blender Institute. The goal of the project was to get a large development team working in one place, in order to speed up the development of Blender 2.8. By June 29, 2018, the Code Quest project ended, and on July 2, the alpha version was completed. Beta testing commenced on November 29, 2018 and was anticipated to take until July 2019. Blender 2.80 was released on July 30, 2019.

Support

Blender is extensively documented on its website, with the rest of the support provided via community tutorials and discussion forums on the Internet. The Blender Network provides support and social services for Blender professionals. Additionally, YouTube is known to have many video tutorials available.

Modified versions

Due to Blender's open-source nature, other programs have tried to take advantage of its success by repackaging and selling cosmetically-modified versions of it. Examples include IllusionMage, 3DMofun, 3DMagix, and Fluid Designer, the latter being recognized as Blender-based.

Use in the media industry

Since 2005, every 1–2 years the Blender Foundation has announced a new creative project to help drive innovation in Blender. In response to the success of the first project, Elephants Dream, the Blender Foundation founded the Blender Institute to do additional projects, with two projects announced at first: Big Buck Bunny, also known as Project Peach, and Yo Frankie!, or Project Apricot.

''Elephants Dream'' (Open Movie Project: Orange)

In September 2005, some of the most notable Blender artists and developers began working on a short film using primarily free software, in an initiative known as the Orange Movie Project hosted by the Netherlands Media Art Institute. The codename, "Orange", in reference to the fruit, started the trend of giving each project a different fruity name. The resulting film, Elephants Dream, premiered on March 24, 2006.

''Big Buck Bunny'' (Open Movie Project: Peach)

On October 1, 2007, a new team started working on a second open project, "Peach", for the production of the short movie Big Buck Bunny. This time, however, the creative concept was totally different. Instead of the deep and mystical style of Elephants Dream, things are more "funny and furry" according to the official site. The movie had its premiere on April 10, 2008. This later made its way to Nintendo 3DS's Nintendo Video between 2012 and 2013.

''Yo Frankie!'' (Open ''Game'' Project: Apricot)

"Apricot" is a project for production of a game based on the universe and characters of the Peach movie using free software. The game is titled Yo Frankie!. The project started on February 1, 2008, and development was completed at the end of July 2008. A finalized product was expected at the end of August; however, the release was delayed. The game was released on December 9, 2008, under either the GNU GPL or LGPL, with all content being licensed under Creative Commons Attribution 3.0.

''Sintel'' (Open Movie Project: Durian)

The Blender Foundation's Project Durian was this time chosen to make a fantasy action epic of about twelve minutes in length, starring a teenage girl and a young dragon as the main characters. The film premiered online on September 30, 2010. A game based on Sintel was officially announced on Blenderartists.org on May 12, 2010.
Many of the new features integrated into Blender 2.5 and beyond were a direct result of Project Durian.

''Tears of Steel'' (Open Movie Project: Mango)

On October 2, 2011, the fourth open movie project, codenamed "Mango", was announced by the Blender Foundation. A team of artists assembled using an open call of community participation. It is the first Blender open movie to use live action as well as CG.
Filming for Mango started on May 7, 2012, and the movie was released on September 26, 2012. As with the previous films, all footage, scenes and models were made available under a free content compliant Creative Commons license.
According to the film's press release, "The film's premise is about a group of warriors and scientists, who gather at the 'Oude Kerk' in Amsterdam to stage a crucial event from the past, in a desperate attempt to rescue the world from destructive robots."

''Cosmos Laundromat – First Cycle'' (Open Movie Project: Gooseberry)

On January 10, 2011, Ton Roosendaal announced that the fifth open movie project would be codenamed "Gooseberry" and that its goal would be to produce a feature-length animated film. He speculated that production would begin sometime between 2012 and 2014. The film was to be written and produced by a coalition of international animation studios. The studio lineup was announced on January 28, 2014, and production began soon thereafter. As of March 2014, a moodboard had been constructed and development goals set. The initial ten minute pilot was released on YouTube on August 10, 2015. It won the SIGGRAPH 2016 Computer Animation Festival Jury's Choice award.

''Glass Half''

This project demonstrates real-time rendering capabilities using OpenGL for 3D cartoon animation. This project marks the end of the fruity naming scheme.
Glass Half was financed by the Blender Foundation with proceeds from the Blender Cloud.

''Caminandes''

Caminandes is a series of animated short films and centers on the llama Koro in Patagonia and his attempts to overcome various obstacles. The series only became part of the Open Movie Project starting with the second episode.

''Agent 327: Operation Barbershop''

Agent 327: Operation Barbershop is the three-minute teaser for a planned full-length animated feature and is based on the classic comics series Agent 327.

''Hero''

Hero is the first open movie project to demonstrate the capabilities of the Grease Pencil, a 2D animation tool in Blender 2.8.

''Spring''

On 25 October 2017, an upcoming animated short film named Spring was announced to be produced by the Blender Animation Studio. Spring was released April 4, 2019. Its purpose was to test Blender 2.8's capabilities before its official release. From the video description, 'Spring is the story of a shepherd girl and her dog, who face ancient spirits in order to continue the cycle of life. This poetic and visually stunning short film was written and directed by Andy Goralczyk, inspired by his childhood in the mountains of Germany.'

''Coffee Run''

"Fueled by caffeine, a young woman runs through the bittersweet memories of her past relationship."
On the 29th May 2020 the open movie Coffee Run was released. This was also the first open movie to be rendered in the Eevee render engine.

Online services

Blender Cloud

The Blender Cloud platform, launched in March 2014 and operated by the Blender Institute, is a subscription-based cloud computing platform and Blender client add-on which provides hosting and synchronization for backed-up animation project files. It was launched to promote and fundraise for Project: Gooseberry, and is intended to replace the selling of DVDs by the Blender Foundation with a subscription-based model for file hosting, asset sharing and collaboration. A feature of the Blender Cloud is Blender Sync, which provides synchronization between Blender clients for file changes, user preferences and other features.

Blender ID

The Blender ID is a unified login for Blender software and service users, providing a login for Blender Cloud, the Blender Store, the Blender Conference, Blender Network, Blender Development Fund and the Blender Foundation Certified Trainer Program.