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 (not associated with the Neo Geo video game hardware brand) 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 (NaN) 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 (US$100,670 at the time), 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 24 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.
Around February 2002 it was clear that the company behind Blender, NaN, could not survive and would close its doors in March. Nevertheless, they put out one more release, Blender 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 (called a "monkey" in the software). It was created by Willem-Paul van Overbruggen (SLiD3), 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. It is as easily added to a scene as a cube or plane.
The largest Blender contest gives out an award called the Suzanne Award.
Release history.
The following table lists notable developments during Blender's release history: green indicates the current version (2.92), yellow indicates currently supported versions, and red indicates versions that are no longer supported (though many later versions can still be used on modern systems).
As of 2021, official releases of Blender for Microsoft Windows, and Linux, as well as a port for FreeBSD, are available in 64-bit versions. Blender is available for Windows 7 and above, and Mac OS X 10.6 and above.
2.92 and 2.83 LTS are the last supported Releases for Windows 7. MacOS 10.12 with 2.8x and 10.13 and higher with 2.92 are also needed at Apple PC.
Blender 2.76b was the last supported release for Windows XP and version 2.63 was the last supported release for PowerPC. In 2013, Blender was released on Android as a demo but hasn't been updated since.
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 the dynamic topology, maps baking, remeshing, re-symmetrize, and decimation.
Geometry Nodes.
Blender's Geometry nodes is a node based system for creating and manipulating geometry. It was first added to Blender 2.92. Current release focuses on object scattering and instancing.
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.
In Blender 2.92 a new fluid sim system called APIC was added. Vortices and more stable calculations are improved in Relation to FLIP system. Improved Mantaflow is here the source of the APIC part.
Animation.
Keyframed animation tools including inverse kinematics, armature (skeletal), 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.
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. 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 (VSE), 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 the 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 (called a ".blend" file).
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", 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 (3DS), Filmbox (FBX), Autodesk (DXF), SVG, STL (for 3D printing), 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 (often sized to fill the screen) 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 types own GUI elements can be controlled with the same tools that manipulate the 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. Cycles supports with AVX, AVX2 and AVX-512 extensions a cpu acceleration in modern hardware of Intel and AMD. 
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 & Ampere architecture; and OpenCL, which supports rendering on AMD graphics cards and added Intel Iris and Xe in 2.92.
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.
Since Version 2.90 this limitation of SLI cards is broken with Nvidia Systems with 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.
Open Shading Language.
Blender users can create their own nodes using the Open Shading Language (OSL), although it is important to note that this feature is not supported by GPUs.
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 (light transmission). If no volume shader is specified, it will pass straight through (or be refracted, see refractive index or IOR) 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 (also known as bump mapping) – real, or a combination of real displacement with bump mapping.
Cycles X.
On the 23rd April 2021 the Blender Foundation announced the Cycles X project, where they will improve the Cycles architecture for future development. Key changes include a new kernel, removal of tiled rendering (replaced with progressive refine), removal of branched path tracing and removal of OpenCL support. Volumetric rendering will also be replaced with better algorithms. Cycles X is currently only accessible on an experimental branch.
EEVEE.
EEVEE (or Eevee) is a real-time PBR renderer included in Blender from version 2.8. This render engine was given the nickname Eevee, after the Pokémon. The name was later made into the backronym "Extra Easy Virtual Environment Engine" or EEVEE.
Workbench.
Using the default 3D viewport drawing system for modeling, texturing, etc.
External renderers.
Free and open-source:
Proprietary:
Past renderers.
Blender Internal.
Blender's non photorealistic renderer. It was removed from Blender in version 2.8. Render clay is 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 (which can also be used to simulate hair and fur); 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 (dubbed "Blender 101"), support for Physically based rendering (PBR) (dubbed EEVEE for "Extra Easy Virtual Environment Engine") 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.
Open projects.
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 open movie project, "Elephants Dream", in 2006 the Blender Foundation founded the Blender Institute to be in charge of additional projects, with two projects announced at first: "Big Buck Bunny", also known as Project Peach (a "furry and funny" short open animated film project); and "Yo Frankie!", or Project Apricot, an open game utilizing the CrystalSpace game engine that reused some of the assets created for "Big Buck Bunny".
"Elephants Dream" (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 (NIMk). 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" (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" was the project name for production of a game based on the universe and characters of the Peach movie ("Big Buck Bunny") using free software, including the Crystal Space framework. The resulting game is titled "Yo Frankie!". The project started on February 1, 2008, and development was completed at the end of July. A finalized product was expected at the end of August; however, the release was delayed. The game was eventually released on December 9, 2008, under either the GNU GPL or LGPL, with all content being licensed under Creative Commons Attribution 3.0.
"Sintel" (Project Durian).
The Blender Foundation's Project Durian (in keeping with the tradition of fruits as code names) 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" (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" (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".
On November 13, 2015, "Glass Half" was released in HD format. This project demonstrates real-time rendering capabilities using OpenGL for 3D cartoon animation. It also marks the end of the fruit naming scheme. "Glass Half" was financed by the Blender Foundation with proceeds from the Blender Cloud. It is a short, roughly three-minute long comedy in a gibberish language that addresses subjectivity in art.
"Caminandes".
"Caminandes" is a series of animated short films envisioned by Pablo Vazquez of Argentina. It centers on a llama named 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 a three-minute teaser for a planned full-length animated feature. It is based on the classic Dutch comic series Agent 327. It was released on May 15, 2017.
"Hero".
"Hero" is the first open movie project to demonstrate the capabilities of the "Grease Pencil", a 2D animation tool in Blender 2.8. It was put on YouTube on April 16, 2018. It has a roughly four-minute runtime, which includes over a minute of "behind-the-scenes" "making-of" footage. It showcases the art of Spanish animator Daniel Martínez Lara.
"Spring".
"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."
On October 25, 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.
"Coffee Run".
"Fueled by caffeine, a young woman runs through the bittersweet memories of her past relationship."
On May 29, 2020, the open movie "Coffee Run" was released. It was the first open movie to use the EEVEE render engine released on July 30, 2019.
"Sprite Fright".
"Spright Fright" is the next announced Open Movie Project. The 13th open movie will be set in Britain and draw inspiration from 1980's horror comedy.
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.
Blender Open Data.
The Blender Open Data is a platform to collect, display, and query benchmark data produced by Blender community with related Blender Benchmark software.