Blender - or, as the full name these days goes, Blender Creator - is a 3D modelling and rendering application for many platforms (Linux, IRIX, Windows and perharps some others I'm forgetting?).
It was first developed by a Dutch company NeoGeo (not related to SNK's underrated and overexpensive game system!) that was, if I understood right, an animation studio doing things for commercials. Blender was for their internal use, and they implemented only the features they could afford and what the jobs from their customers needed. The first public freeware versions of Blender were released in 1998.
After NeoGeo collapsed in 1998, Ton Roosendaal and the gang formed a company called Not a Number that developed Blender into a great application. Blender remained freeware for most parts, but there were features that could be used with a special registeration key that NaN sold. Along with the keys, NaN sold things like the Blender manual, tutorial books, and such.
Later, Blender's expensive parts were added to the freeware version around version 1.8. The last release of the freeware Blender that made its way to the mirrors, and the first OSS release, is 2.23. Apparently there was a bugfix release after that, but it disappeared as the site was closed in the bankruptcy...
NaN also went bankrupt in 2002. Soon after that, the Blender Foundation was set up, with the intent to raise 100 000 € to buy the Blender source code and thus secure Blender's future. It was Ton's promise to make Blender open-source if NaN goes down, or only sell it to entity that makes the same promise - it has now become reality, the only problem were the people for whom NaN owed money and who thought Blender's closed sources are worth their printed-with-large-font weight in gold. The money was, and will in future, be got from individual users and corporate sponsors. The money was raised in a remarkably short time (only about a month), and the code was released to the world in the end of the Blender Conference in October 13, 2002.
The code is now being developed at blender.org (http://www.blender.org/). The first "totally free" release, 2.26, was released February 11, 2003. This release doesn't have the physics engine, though, but it looks like it will be included in some later version.
The program is under a dual license: You can use the code under terms of GPL v2 or later (so if you distribute a modified version, you have to include the source), or choose to use the "Blender License", which means you can keep your source code and the modifications you've made closed, but have to pay to the Blender Foundation.
Blender is an awesome modelling application, but in my opinion, the rendering side is still a little bit lacking. (I wish they implement Renderman interfaces later on so that I can use BMRT or something to render the pictures...)
The program is indeed a little bit confusing at first, and I strongly suggest getting the manual and reading and doing some simple tutorials and exercises to get used to it. Without the documentation, Blender is undoubtedly frustrating program, as it gives very little hint on what should be done. It assumes you know what you doing.
Blender has two editing modes (switchable with TAB key): The normal operation mode and the editing mode (EditMode). Normally, you're manipulating objects in respect to other objects, and in EditMode, you're manipulating the object itself. For example, in normal move, you can move, rotate or scale a mesh, but once you hit TAB, you'll be able to manipulate individual vertices of the mesh.
Also, the important thing to note is that Blender stores everything as a structure of data. For example, a Mesh consists of many, many things: An Object (stores the location and other parameters of the object), a Mesh (stores the mesh vertices), a Material (stores the "look" of the object) and possibly a Texture (manipulation of the material). These can be linked any way. For example, if you make a duplicate of the mesh, it makes a copy of the Object, Mesh, Material and Texture... but if you make a linked duplicate, you only copy the Object and link to the rest. You can place the duplicated object anywhere you want and rotate it any way you please, but the actual mesh is stored only once - this saves storage space. Also, a more mundane example: You can have multiple object that link to same material/texture.
Blender has three typical editing commands: Grab, Scale and Rotate. All of these can be accessed either through the keyboard or mouse gestures.
Wide variety of different objects are supported, here's a partial list:
- Meshes (including smoothed meshes, and S-meshes (meshes converted to NURBS surfaces)) - Meshes can be extruded, spun, and otherwise messed with.
- curves - Bézier curves and the like. 2D curves can also be turned into 3D objects by extruding them, optionally adding bevel. Good for making impressive logos!
- NURBS and surfaces (extension to NURBS).
- Text (with chosen font; can also be converted to curves)
- lattices (transforms objects that are "inside" them. Good for making pretty odd twisting effects!)
- Ikas (For creating "skeletons"; Place a few ikas around, and your mesh starts to look like a living being!) - in new versions of Blender, this is apparently called Armature.
- Metaballs (this is some weird shit with CSG, don't ask me...)
The material and texture support is very good. What particularly impresses me is the particle/halo system; Great stuff that looks particularly neat, good for creating anything from smoke and water to fireflies and sparks.
The material support also offers material indexes (different faces of a mesh can link to different indexes) and interactive vertex paint. Textures can also be finetuned through the UV editor; Load a texture (such as a photograph of a face, map the vertices to parts of the texture, and boom, perfect texturing.
Blender's rendering engine, as mentioned, has problems, but these are not too large and there are "hacks" to go around them. For example, formerly it just could not do good shadows from anything other besides a spot light, and reflections were right out. Newer versions support radiosity lighting (good shadows, too), and also environment maps to make cheap simulations of reflections. Also, smoothed meshes are particularly tricky to use, the texture wraps sometimes go kaploowey with no logical explanation (this can be fixed with radical use of "split" command that removes links between smothered meshes, but in my book, this should work like a train toilet, without excuses).
Blender supports some other file formats, some only in, some only out, some both ways: Extended VideoScape3D format is easy to parse with anything, being a text format. VRML files, to some degree, are supported (in case anyone cares of that overhyped format anymore) as are Autocad DXF files. Many output formats are also supported: JPEG and Targa are good formats for still output, and AVI is also supported for animation output (along with outputting a large amount of still frames).
Blender also supports some sort of 3D engine for games; this is something that was added in 2.0. Yet, I have no idea how this is used...
Blender can be extended using plugins, and it also offers a scripting support, at the moment it's only available for Python (I hope for Perl or Ruby support now that there are less licensing issues...)
In conclusion: Blender is an excellent program. While I have used other programs, the sheer neatness of Blender always drives me back, no matter what weaknesses it still has. It's like vi of 3D world: Hard for newbies, but loved by the experienced users.
Home pages at the moment:
http://www.blender3d.com/ - Blender foundation
http://www.blender.org/ - Blender open source development site
http://www.elysiun.com/ - Blender user community