Blend
Title(s): Blend - Blender file format
Version ID: 2.48a
Date released: 2008-10-23
Date: 1998-01-01
Creator(s): Stichting Blender Foundation
Contributor(s): Stichting Blender Foundation
Relationships:
- Previous Version(s): N/A
- Contains: N/A
- Syntax Format(s): N/A
- Family Format(s): N/A
Description: Loading and saving in Blender is very fast and Blender is known to have excellent downward and upward compatibility. Ton Roosendaal demonstrated that in December 2008 by loading a 1.0 blend-file using Blender 2.48a.
Saving complex scenes in Blender is done within seconds. Blender achieves this by saving data in memory to disk without any transformations or translations. Blender only adds file-block-headers to this data. A file-block-header contains clues on how to interpret the data. After the data, all internally Blender structures are stored. These structures will act as blue-prints when Blender loads the file. Blend-files can be different when stored on different hardware platforms or Blender releases. There is no effort taken to make blend-files binary the same. Blender creates the blend-files in this manner since release 1.0. Backward and upwards compatibility is not implemented when saving the file, this is done during loading.
When Blender loads a blend-file, the DNA-structures are read first. Blender creates a catalog of these DNA-structures. Blender uses this catalog together with the data in the file, the internal Blender structures of the Blender release you're using and a lot of transformation and translation logic to implement the backward and upward compatibility. In the source code of blender there is actually logic which can transform and translate every structure used by a Blender release to the one of the release you're using. The more difference between releases the more logic is executed.
History: In 1988, Ton Roosendaal co-founded the Dutch animation studio NeoGeo. This studio quickly became the largest 3D animation house in the Netherlands. Within NeoGeo, Ton was responsible for both art direction and internal software development. After a careful deliberation it was decided that the current in-house 3D toolset needed to be rewritten from scratch. In 1995 this rewrite began and was destined to become the 3D software tool we all now know as Blender.
In 1998, Ton founded a new company called Not a Number (NaN), to further market and develop Blender. NaN's business model involved providing commercial products and services around Blender. In 2000 the company secured growth financing by several investment companies. Target was to create a free creation tool for interactive 3D (on-line) content, and commercial versions of the software for distribution and publishing.
Sadly, due to disappointing sales and the ongoing difficult economic climate, the NaN investors decided to shut down all operations early 2002. The shutdown also included discontinuing the development of Blender. Enthusiastic support from the user community and customers couldn't justify leaving Blender to disappear into oblivion. Since restarting a company with a sufficiently large team of developers wasn't feasible, in May 2002 Ton Roosendaal started the non-profit Blender Foundation.
The Blender Foundation's first goal was to find a way to continue developing and promoting Blender as a community based open source project. In July 2002, Ton managed to get the NaN investors to agree on a unique Blender Foundation plan to attempt to open source Blender. The "Free Blender" campaign sought to raise 100,000 EUR, as a one-time fee so that the NaN investors would agree on open sourcing Blender. To everyone's shock and surprise the campaign reached the 100,000 EUR goal in only seven short weeks. On Sunday Oct 13, 2002, Blender was released to the world under the terms of the GNU General Public License. Blender development continued since that day driven by a team of far flung dedicated volunteers from around the world led by Blender's original creator, Ton Roosendaal.
With Blender originating as an in-house creation tool, the day-to-day feedback and interaction of both developing and using the software was one of its most outstanding features. In first 2.5 years of open source development, it was especially this uniqueness of Blender that has proven to be difficult to organize and maintain. Instead of getting funding to bring together software developers, the Blender Foundation decided to start a project to bring together the most outstanding artists in the Blender community and challenge them to make an exciting 3D animation movie short.
This is how "Project Orange" started in 2005, which resulted in the world's first and widely recognized Open Movie "Elephants Dream". Not only was the entirely created using Open Source tools, the end-result and all of the assets as used in the studio were published under an open license, the Creative Commons Attribute.
Because of the overwhelming success of the first open movie project, Ton Roosendaal, established the "Blender Institute" in summer 2007. This now is the permanent office and studio to more efficiently organize the Blender Foundation goals, but especially to coordinate and facilitate Open Projects related to 3D movies, games or visual effects. In April 2008 the Peach Project, the open movie "Big Buck Bunny", was completed in the Blender Institute. In September 2008 the open game "YoFrankie!" was released.
Example(s): Blender Example
Identifier: http://www.blender.org
Documentation: Blend has no official documentation.
File Extensions: blend
Applications:
- Native application(s): Blender
- Interoperable applications: None
Magic numbers: None
Format(s): N/A
Rights: GNU GPL v2
Sustainability Factors:
- Standardization: None
- Adoption: None
- Licensing and patent claims: None
- Self-documentation: None
- External dependencies: None
- Technical protection considerations: None
Typical use: 3D Modeling
File classification:
- Type {Binary, Text}: Binary
- Raster data:
- Raster data 2D:
- Raster data 3D: - Can the format support 3D raster data? Example: A format that can contain 2D pixelated data of a 3D model supports 3D raster data.
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Geometric representation: - Section describes whether or not the engineering format supports geometric representations.
- Implicit representation: - Section describes whether or not the engineering format supports implicit representations.
- Implicit surfaces: - Can the format support implicit surfaces? Example: A format that can contain surfaces that are generated with mathematical equations that contain the independent variables x, y, and z, like x^2 + y^2 + z^2 * R^2 = 0, supports implicit surfaces.
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Implicit curves: - Can the format support implicit curves? Example: A format that can contain curves that are generated with mathematical equations that contain the independent variables x, y, and z, supports implicit curves.
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Point set: - Can the format support point sets? Example: A format that supports surfaces and lines that are generated by points that form triangles supports point sets.
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Implicit surfaces: - Can the format support implicit surfaces? Example: A format that can contain surfaces that are generated with mathematical equations that contain the independent variables x, y, and z, like x^2 + y^2 + z^2 * R^2 = 0, supports implicit surfaces.
- Mesh: - Section describes whether or not the engineering format supports mesh.
- Manifold surface meshes: - Can the format support manifold surface meshes? Example: A format that supports surfaces that are mathematical spaces in which every point has a neighborhood which resembles Euclidean space
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Manifold volume meshes: - Can the format support manifold volume meshes? Example: A format that supports volumes that are mathematical spaces in which every point has a neighborhood which resembles Euclidean space
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Non-manifold meshes: - Can the format support non-manifold meshes? Example: A format that supports meshes that are not manifolds
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Manifold surface meshes: - Can the format support manifold surface meshes? Example: A format that supports surfaces that are mathematical spaces in which every point has a neighborhood which resembles Euclidean space
- Parametric representation: - Section describes whether or not the engineering format supports parametric representations.
- Parametric surfaces: - Can the format support parametric surfaces? Example: A format that can contain surfaces that are generated with parametric equations supports parametric surfaces.
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Parametric curves: - Can the format support parametric curves? Example: A format that can contain curves that are generated with parametric equations supports parametric curves.
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Parametric surfaces: - Can the format support parametric surfaces? Example: A format that can contain surfaces that are generated with parametric equations supports parametric surfaces.
- Contour sets: - Can the format support contour sets?
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- NURBS: - Can the format support Non Uniform Rational Basis Splines? Examples: The engineering formats IGES, STEP, ACIS, and PHIGS
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Implicit representation: - Section describes whether or not the engineering format supports implicit representations.
- Multi-resolution models: - Can the format support models with multiple resolutions? Examples: A format that supports a highly detailed and lowly detailed model simultaneously supports multi-resolution models.
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Dynamics: - Section describes whether or not the engineering format supports dynamics.
- Kinematics: - Can the format support kinematics? Example: Does the format allow model parts to rotate?
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Assembly: - Can the format support assembly? Example: Does the format allow the assembly instructions to be explicitly specified with a model?
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Force(s): - Can the format support forces? Example: Does the format support acceleration forces?
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Kinematics: - Can the format support kinematics? Example: Does the format allow model parts to rotate?
- Boundary representation - Can the format support models with boundary representations?
- Manifold surface boundary representations: - Can the format support manifold surface boundary representations? Example: The engineering format STEP
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Manifold volume boundary representations: - Can the format support manifold volume boundary representations? Example: The engineering format STEP
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Non-manifold boundary representations: - Can the format support non-manifold boundary representations? Example: The engineering format STEP
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
- Manifold surface boundary representations: - Can the format support manifold surface boundary representations? Example: The engineering format STEP
- Material transparency: - Can the format support transparency? Example: Does the format allow models to have a clear window in a car?
- Is Supported: - Is the feature supported in the engineering format?
- Description: - This field is used to describe the support or lack of support of the feature.
References:
- J. Bakker, "The Mystery of the Blend: The Blender File-format Explained", March 2009[1]