|Blender is a free and open-source 3D computer graphics software product used for creating animated films, visual effects, interactive 3D applications or video games. The current release (stable) version is 2.60, and was released on October 19, 2011. Blender’s features include 3D modeling, UV unwrapping, texturing, rigging and skinning, fluid and smoke simulation, particle simulation, animating, rendering, video editing and compositing.|
Blender was developed as an in-house application by the Dutch animation studio NeoGeo and Not a Number Technologies (NaN). It was primarily authored by Ton Roosendaal, who had previously written a ray tracer called Traces for Amiga in 1989. The name “Blender” was inspired by a song by Yello, from the album Baby.
Roosendaal founded NaN in June 1998 to further develop and distribute the program. The program was initially distributed as shareware until NaN went bankrupt in 2002.
The creditors agreed to release Blender under the terms of the GNU General Public License, for a one-time payment of €100,000 (US$100,670 at the time). On July 18, 2002, a Blender funding campaign was started by Roosendaal in order to collect donations and on September 7, 2002 it was announced that enough funds had been collected and that the Blender source code would be released. Today, Blender is free, open-source software and is, apart from the two half-time employees and the two full-time employees of the Blender Institute, developed by the community.
The Blender Foundation initially reserved the right to use dual licensing, so that, in addition to GNU GPL, Blender would have been available also under the “Blender License”, which did not require disclosing source code but required payments to the Blender Foundation. However, this option was never exercised and was suspended indefinitely in 2005. Currently, Blender is solely available under GNU GPL.
In January/February 2002 it was quite clear that NaN could not survive and would close the doors in March. Nevertheless, they found the energy for doing at least one more release: 2.25. As a sort-of easter egg, a last personal tag, the artists and developers decided to add a 3D model of a chimpanzee. It was created by Willem-Paul van Overbruggen (SLiD3), who also 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 often used as a quick and easy way to test material, animation, rigs, texture, and lighting setups, and is also frequently used in joke images. The largest Blender contest gives out an award called the Suzanne Awards.
Blender has a relatively small installation size and runs on several popular computing platforms. Official versions of the software are released for Linux, Mac OS X, Microsoft Windows, and FreeBSD. Though it is often distributed without extensive example scenes found in some other programs, the software contains features that are characteristic of high-end 3D software. Among its capabilities are:
- Support for a variety of geometric primitives, including polygon meshes, fast subdivision surface modeling, Bezier curves, NURBS surfaces, metaballs, digital sculpting, outline font, and a new n-gon modeling system called B-mesh.
- Internal render engine with ray tracing, indirect lighting, and ambient occlusion that can export in a wide variety of formats.
- Integration with a number of external render engines through plugins.
- Keyframed animation tools including inverse kinematics, armature (skeletal), hook, curve and lattice-based deformations, shape keys (morphing), non-linear animation, constraints, and vertex weighting.
- Simulation tools for Soft body dynamics including mesh collision detection, LBM fluid dynamics, smoke simulation, and Bullet rigid body dynamics.
- A particle system which includes support for particle-based hair.
- Modifiers to apply non-destructive effects.
- Python scripting for tool creation and prototyping, game logic, importing and/or exporting from other formats, task automation and custom tools.
- Basic non-linear video/audio editing.
- Game Blender, a sub-project, offers interactivity features such as collision detection, dynamics engine, and programmable logic. It also allows the creation of stand-alone, real-time applications ranging from architectural visualization to video game construction.
- A fully integrated node-based compositor within the rendering pipeline.
- Procedural and node-based textures, as well as texture painting, projective painting, vertex painting, and weight painting.
- Realtime control during physics simulation and rendering.
Blender has had a reputation as being difficult to learn for users accustomed to other 3D graphics software. Nearly every function has a direct keyboard shortcut and there can be several different shortcuts per key. Since Blender became free software, there has been effort to add comprehensive contextual menus as well as make the tool usage more logical and streamlined. There have also been efforts to visually enhance the user interface, with the introduction of color themes, transparent floating widgets, a new and improved object tree overview, and other small improvements (such as a color picker widget). Blender’s user interface incorporates the following concepts:
- The two primary modes of work are Object Mode and Edit Mode, which are toggled with the Tab 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. The 2.45 release also had the UV Mapping Mode, but it was merged with the Edit Mode in 2.46 Release Candidate 1.
- Most of the commands are accessible via hotkeys. Until the 2.x and especially the 2.3x versions, this was in fact the only way to give commands, and this was largely responsible for creating Blender’s reputation as a difficult-to-learn program. The new versions have more comprehensive GUI menus.
- Numeric buttons can be “dragged” to change their value directly without the need to aim at a particular widget, thus saving screen real estate and time. Both sliders and number buttons can be constrained to various step sizes with modifiers like the Ctrl and Shift keys. Python expressions can also be typed directly into number entry fields, allowing mathematical expressions to be used to specify values.
- The Blender GUI is made up of one or more screens, each of which can be divided into sections and subsections that can be of any type of Blender’s views or window-types. 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 in the same way one zooms in and out in the 3D viewport. The GUI viewport and screen layout is 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 utilized for the task. The user interface supports multiple monitors.
Blender has very low hardware requirements compared to other 3D suites. However, for advanced effects and high-poly editing, a more powerful system is needed.
Blender features an internal file system that allows one to pack multiple scenes into a single file (called a “.blend” file).
- All of Blender’s “.blend” files are forward, backward, and cross-platform compatible with other versions of Blender, with the exception of loading post-2.5 files in Blender pre-2.5.
- Snapshot “.blend” files can be auto-saved periodically by the program, making it easier to survive a program crash.
- All scenes, objects, materials, textures, sounds, images, post-production effects for an entire animation can be 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 pathname. Likewise, “.blend” files themselves can also be used as libraries of Blender assets.
- Interface configurations are retained in the “.blend” files, such that what you save is what you get upon load. This file can be stored as “user defaults” so this screen configuration, as well as all the objects stored in it, is used every time you load Blender.
The actual “.blend” file is similar to the EA Interchange File Format, starting with its own header (for example BLENDER_v248) that specifies the version, endianness and pointer size, followed by a collection of binary chunks storing the data blocks, and all the type and struct definitions also known as DNA. Although it is hard to read and convert a “.blend” file to another format using external tools, the readblend utility can do this. Dozens of import/export scripts that run inside Blender itself, accessing the object data via API, make it possible to inter-operate with other 3D tools.
Jeroen Bakker documented the Blender file format to allow inter-operation with other tooling. The document can be found at the The mystery of the blend website. A DNA structure browser is also available on this site.
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, a polygon mesh has at least an Object and Mesh data block, and usually also a Material. This allows various data blocks to refer to each other; there may be, for example, multiple Objects that refer to the same Mesh, allowing the mesh to be duplicated while only keeping one copy of the mesh data in memory, and allowing subsequent editing of all duplicated meshes at the same time. Data block relationships can also be changed manually. Data blocks can also be referred to in other .blend files, allowing the use of .blend files as reusable object libraries.
Comparison with other 3D software
Blender is a dominant open source product with a range of features comparable to mid- to high-range commercial, proprietary software. In 2010, CGenie classed Blender as a fledgling product with the majority of its users being “hobbyists” rather than students or professionals but with its high standards rising year on year. They also reported that users thought Blender needed more development and required more compatibility with other programs.
A 2007 article claimed that Blender’s interface was not up to industry standards, but was nevertheless suited to fast workflow and was sometimes more intuitive. Poor documentation was also criticized although there is community support through an online wiki, and a range of books published both by the Blender Foundation and independently.
In 2011, Blender 2.5 was released. Featuring a completely redesigned user interface, it aims to improve work flow and ease of use. During beta-testing, Blender 2.5’s animation system was considered by the Sintel animators to be as good or better than some commercial packages.