Sustainability of Digital Formats: Planning for Library of Congress Collections |
|
![]() |
|
Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact |
Full name | Blender 3D Data File (BLEND) |
---|---|
Description |
FileInfo.com describes a BLEND file as a 3D image or animation project created with Blender, an open-source 3D modeling program, and saved in a proprietary binary format. A BLEND file contains 3D mesh data, lighting information, vertex painting, animation keyframes, NURBS objects, procedural textures, UV mapping layout, and real-time interactivity data. BLEND files also contain imported assets, such as objects, sounds, images, effects, scenes, users only need to provide the BLEND file to share a Blender project. The Blender program is a free, multiplatform application for creating various 3D productions, including models and animations. As of this writing, Blender 3.4.1 is the current version to download for Windows, but options for macOS, Linux, and other platforms are available. Blender Developer Wiki provides information for developers, including explanations of code directories and design documentation, modules, style guides, and new release updates. An archived version of the Blender Developer Wiki, Code Documentation describes the basis of the BLEND file format. The documentation is based on the document The Mystery of the Blend, June 2010, written by Jeroen Bakker, using a default BLEND file from Blender 2.48 as a working example. BLEND files organize data in various data-blocks, such as objects, meshes, or materials. The data-blocks can be linked together and referred to each other within the same BLEND file or other BLEND files creating reusable resource libraries. Global File Structure of BLEND
BLEND files save data in-memory to disk without any translations or transformations, it only adds file-block-headers to the data which contain information on how to interpret the data. Blender structures are stored after the data with the structures acting as blue-prints when the BLEND file is loaded. Blender is coded in 3 languages, C, C++, and Python, with Python used as an internal scripting language. There are 3 directories in the root directory structure:
Uses of BLEND BLEND files are the Blender software’s own main project file format and stores virtually all Blender-supported data, i.e. mesh, lighting, colors, which helps when importing Blender projects without any loss of data. BLEND files are used for creating 3D models and animation in the Blender software. |
Production phase | Using the program Blender, users can create and edit (initial and middle state) BLEND files. Users can also share the BLEND files with other users or download preexisting BLEND files (final state) to view or edit in Blender. |
LC experience or existing holdings | The Library of Congress has a small number of BLEND files in its collections. |
---|---|
LC preference | See the Recommended Formats Statement for the Library of Congress format preferences for 3D and design works. |
Disclosure |
Partially Documented. No standard BLEND file format specification exists, Blender Source Code can serve as a definitive specification. Blender Archive describes the basics of the BLEND file format based on the document The Myster of the Blend, June 2010, written by Jeroen Bakker. |
---|---|
Documentation |
No known official documentation. See disclosure. |
Adoption |
The BLEND file is the major file format used by the program Blender. In 2020 Blender has been downloaded over 14M times from https://www.blender.org/. In addition to blender.org, Blender is available on other platforms such as the Microsoft Store, Steam and Snapcraft. Microsoft Store and Snapcraft provide information on the amount of installed Blender releases. |
Licensing and patents |
Blender is Free Software – Free to Use. Free to Change. Free to Share. Free to Sell Your Work. The output of Blender, in the form of BLEND files, is considered program output, and the sole copyright of the user. The BLEND file format only stores data definitions. |
Transparency |
Low Support. A BLEND 3D model is a special file format by Blender and should only be edited and saved with the appropriate software. BLEND files are binary files, Blender saves its data as BLEND files and can only open BLEND files. Other 3D file types are not “opened,” but imported. |
Self-documentation |
The BLEND file format is not a true file interchange format, rather it dumps internal data structures directly from memory to disk. A BLEND file’s structure may therefore be unique to each version of Blender. Despite this, BLEND files are both backward and forward compatible between versions, and between different hardware and operating systems. This is made possible by the addition of metadata, known as Struct DNA, that allows conversion when loading the file. “DNA” or “SDNA” (“structure” DNA”) is the system for mapping Blender’s in-memory data structures to the on-disk BLEND file format. A saved BLEND file includes a detailed description of the layout of all the data structures saved in the file, and this description is stored in the “DNA1” block at the end. This block is generated by the makesdna tool, which is built and run automatically as part of the overall build process, so its output can be included directly into the Blender executable. |
External dependencies | BLEND files can be handled with the Blender program, which is available for free from the Blender Organization website. Most of Blender's BLEND files are forward, backward, and cross-platform compatible with other versions of Blender. 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. |
Technical protection considerations |
None. |
Other | |
---|---|
3D Model Geometry |
In Blender, 3D models can be built with different object types such as a mesh, curve, surface, metaball, text, grease pencil, armature, lattice, image, and camera. Some types of modeling in Blender are polygonal mesh modeling and curve-based modeling. Meshes are the most common type of modeling object used in Blender. Bézier and NURBS curves, defining curves through a mathematical formula, are the basic curve-based forms included in Blender. Users can use Blender’s built-in sculpting tools to add detail directly to the model’s surface. Sculpting uses tools to ’push’ and ‘pull’ the mesh in different ways, working best when there are a lot of polygons and is generally used to create highly detailed and textured objects. |
3D Model Appearance |
BLEND supports UV mapping, mapping 2D textures on 3D objects, a process done in a UV editor. The UV unwrapping tool flattens out the model surface so the texture can be painted on. Uses can adjust opacity, diffusion, light reflection, or back-lighting. BLEND materials are composed on image textures, textures being images or patterns only and materials are collections of information that defines an object’s color, shininess, transparency, and/or bumpiness. Materials can contain multiple textures that alter the overall look, and objects can have multiple materials assigned to different parts, making simple objects look more complex, the primary advantage of image textures. |
3D Model Scene |
Each BLEND file can contain multiple scenes, which can share and link to other scenes, objects, and/or materials. Scene properties define the nature of the scene, including active camera, background scene, units of measurement, strength of gravity, audio settings, and rigid body objects. Rendering images form Blender requires the object’s camera, which defines a portion of the scene that is visible in the rendered image and must be added or created in the scene. Cameras are invisible to renders, so there is no material or texture settings. Blender supports a variety of “lamp” types that emit light into a scene, including sun, point, spot, and area. Once the desired Blender lighting type is chosen and inserted, users can place the light source anywhere in the design space. |
3D Model Animation |
BLEND files support animations with lattice modifiers, rigging (skeleton), and inherited animation (movement based on another object). Animation is typically achieved using keyframes that define positions of the starting and ending point of a specific transition, with a sequence of the transitions making up a complete animation. |
Tag | Value | Note |
---|---|---|
Filename extension | blend |
See https://filext.com/file-extension/BLEND. |
Internet Media Type | application/x-blender |
From Wikidata https://www.wikidata.org/wiki/Q15671948 but this information may be incorrect/outdated as the provided link (https://www.iana.org/assignments/media-types/application/x-blenderis not valid. |
Pronom PUID | fmt/1009 |
Binary. See https://www.nationalarchives.gov.uk/PRONOM/fmt/1009 . |
Pronom PUID | fmt/902 |
3D 32 bit. See https://www.nationalarchives.gov.uk/pronom/fmt/902. |
Pronom PUID | fmt/903 |
Text. See https://www.nationalarchives.gov.uk/pronom/fmt/903. |
Wikidata Title ID | Q15671948 |
Opensource file format of Blender 3D . See https://www.wikidata.org/wiki/Q15671948. |
General |
A BLEND1 file is a backup file automatically generated by Blender. It stores a copy of the previously saved version of the currently opened .BLEND file and is used for recovering the previous version of a BLEND file. BLEND1 files can be renamed with the ".blend" extension and opened normally. BLEND1 files may be accompanied by other ".blend2," ".blend3," etc. files. These files are generated based on the number of allowed save backups the user specifies in the application preferences. Note that ".blend2" is an older version of the Blender file than the ".blend1" file. Katbits, a Game and Media Development Company, states: “Blenders BLEND file is basically a file dump, it saves project settings, options and properties, restoring them upon reopening a file.” StackOverflow forum mentions BLEND files, “The BLEND format is not much more than a python pickle object with some binary header fields.” Pickle — Python object serialization. The pickle module implements binary protocols for serializing and de-serializing a Python object structure. “Pickling” is the process whereby a Python object hierarchy is converted into a byte stream, and “unpickling” is the inverse operation, whereby a byte stream (from a binary file or bytes-like object) is converted back into an object hierarchy. |
---|---|
History |
Blender was created by Ton Roosendaal, a Dutch art director and self-taught software developer. Roosendaal started his own 3D animation studio, NeoGeo, in 1989. Initially based in Roosendaal’s attic, NeoGeo grew rapidly, garnering awards and becoming the biggest company of its type in the Netherlands. Roosendaal wrote the first source files titled “Blender” on the 2nd of January, 1994, still considered Blender’s official birthday. Originally, Blender was planned as an in-house application for NeoGeo; it grew from a series of pre-existing tools. Blender 1.0 was launched in January 1995. When NeoGeo was closed, Roosendaal partnered with Frank van Beek and founded a new company focused on further developing and marketing Blender. Not a Number (NaN) opened its doors in June 1998, distributing Blender under a freemium pricing strategy: the software was free to download, with NaN selling keys to unlock more advanced features. Despite investments, troubled relations between NaN and its investors meant that the company closed in early 2002. With NaN’s demise, Blender’s development ceased, unable to buy the rights from NaN’s backers. In May of 2002, Roosendaal started a non-profit, the Blender Foundation, with the intention of making Blender open-source. In May of 2002, Roosendaal started a non-profit, the Blender Foundation, with the intention of making Blender open-source. In July, Roosendaal launched the first-ever crowdfunding campaign: Free Blender. Thanks to Blender’s community of 250,000 users, the Blender Foundation was able to raise one hundred and ten thousand euros in just seven weeks — sufficient to regain Blender from its investors. On Sunday, October 13th, 2002, Blender was released under the terms of the GNU General Public License, the strictest possible open-source contract. |
|