Free and Open Source 3D Graphics Software: 3D computer graphics software refers to programs used to create 3D computer-generated imagery.
There are usually many stages in the "pipeline" that studios use to create 3D objects for film and games, and this article only covers some of the software used. Note that most of the 3D packages have a very plugin-oriented architecture, and high-end plugins costing tens or hundreds of thousands of dollars are typically used by studios. Larger studios commonly create vast amounts of proprietary software to run alongside these programs. But thankfully, there are always Free and Open Source software alternatives that can help produce highly commendable 3D animations like they did in the short film entitled “Elephants Dream”.
Here are some of the 3D graphics software applications that will allow those with artistic touch create beauty out of freedom:
*Blender is a free software 3D animation program. It can be used for modeling, UV unwrapping, texturing, rigging, skinning, animating, rendering, particle and other simulating, non-linear editing, compositing, and creating interactive 3D applications. Blender is available for several operating systems, including Microsoft Windows, Mac OS X, Linux, IRIX, Solaris, FreeBSD, OpenBSD with unofficial ports for SkyOS, MorphOS and Pocket PC. Blender has a robust feature set similar in scope and depth to other high-end 3D software such as Softimage|XSI, Cinema 4D, 3ds Max and Maya. These features include advanced simulation tools such as rigid body, fluid, and softbody dynamics, modifier based modeling tools, powerful character animation tools, and a node based material and compositing system and Python for embedded scripting.
*Aqsis is a high quality, photorealistic, 3D rendering solution. It complies with the RenderMan® interface standard defined by Pixar.
The RenderMan® standard has been used in film and television visual effects since its introduction in 1989. Pixar has used their own implementation for their entire award winning CG features, and provided their implementation for use in the visual effects of most major blockbuster films over the last 2 decades. The Aqsis project offers a way for individuals and organistaions alike to gain experience with the RenderMan® interface without the cost of commercial software licenses.
Aqsis comprises a command line rendering tool, a tool for compiling shaders in the RSL language, a tool for preparing textures for optimal use, and various developer libraries to enable integration with third party tools.
*Art of Illusion is a software package used for 3D modeling, texturing, ray tracing, and otherwise rendering computer generated imagery stills or animations (movies).
The goal of Art of Illusion is to provide powerful 3D modeling tools with a user interface that improves on those found in other 3D software packages. Though its interface is simple, Art of Illusion contains many features found in high-end commercial graphics software. Some of its features, like the use of online repositories and a built-in downloading tool for installing extensions, are not found in similar commercial software.
The primary creator and maintainer of the software is Peter Eastman. Peter can be contacted via the project web site.
Art of Illusion is written in the Java programming language. Distributed under the GNU General Public License, it is free software.
*GtkRadiant is a level design program developed by id Software and Loki Software. It is used to create maps for a number of computer games. It is maintained by id Software together with a number of volunteers.
GtkRadiant's roots lie in id Software's in-house tools. Some of the early UI design decisions influencing it could be seen in QuakeEd, the original Quake mapping tool for NextStep. Code-wise, GtkRadiant is a descendant of Q3Radiant, the Quake III Arena level design tool, which in turn is a descendant of QERadiant. QERadiant was developed by Robert Duffy using the source code for QE4, the in house Quake II level editor id Software used to build Quake II levels and is available with the Quake 2 SDK. All three are Windows-only applications. Two major things are different in GtkRadiant: it is based on the GTK+ toolkit, so it also works in Linux and Mac OS X, and it's also game engine-independent, with functionality for new games added as game packs.
MeshLab, started in late 2005, is an open-source general-purpose mesh processing software program; the system is aimed to help the processing of the typical not-so-small unstructured models that arise in the pipeline of processing of the data coming form 3D scanning. MeshLab is oriented to the management and processing of single large meshes and provides a set of tools for editing, cleaning, healing, inspecting, rendering and converting this kind of meshes.
The automatic mesh cleaning filters includes removal of duplicated, unreferenced vertices, non manifold edges and null faces. Remeshing tools support high quality simplification based on quadric error measure, various kind of subdivision surfaces and a surface reconstruction algorithm from point clouds based on the ball pivoting technique. For the removal of noise, usually present in acquired surfaces, MeshLab supports various kind of smoothing filters and tools for curvature analysis and visualization.
MeshLab support also an interactive direct paint-on-mesh system that allows to interactively change color of a mesh, to define selections and to directly smooth out noise and small features.
MeshLab is available for most platforms, including Windows, Linux and Mac OS X. The system support input/output in the following formats: PLY, STL, OFF, OBJ, 3DS and COLLADA.
*OpenFX is an Open-Source, free modeling and animation studio, distributed under the GNU General Public License, created by Dr. Stuart Ferguson. He made the decision to release the source code to the public in the middle of 1999 and released a stable version a year and a half later. The product, formerly named SoftF/X, was renamed to OpenFX.
The OpenFX featureset includes a full renderer and raytracing engine, NURBS support, kinematics-based animation, morphing, and an extensive plugin API. Plugin capabilities include image post processor effects such as lens flare, fog and depth of field. Animation effects such as explosions, waves and dissolves add to the flexibility of the program. Version 2.0 also features support for modern graphics cards with hardware GPU acceleration.
OpenFX supports the Win32 platform, including Windows 95, NT, 98, ME, 2000 and XP. It can run under UNIX-based platforms by using the Wine compatibility layer.
OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D rendering engine (as opposed to a game engine) written in C++ designed to make it easier and intuitive for developers to produce applications utilising hardware-accelerated 3D graphics. The class library abstracts the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other high level classes.
The engine is free software, licensed under the LGPL and has a very active community. It has been used in some commercial games. It was Sourceforge's project of the month in March 2005.
Pixie is a free, photorealistic raytracing renderer for generating photorealistic images, developed by Okan Arikan in the Department of Computer Science at The University of Texas At Austin. It is RenderMan-compliant (meaning it reads conformant RIB, and supports full SL shading language shaders) and is based on the Reyes rendering architecture, but also support raytracing for hidden surface determination.
Like the proprietary BMRT, Pixie is popular with students learning the RenderMan Interface, and is a suitable replacement for it. Contributions to Pixie are facilitated by SourceForge and the internet where it can also be downloaded free of charge as source code or precompiled. It compiles for Windows (using Visual Studio 2005), Linux and on Mac OS X (using Xcode or Unix-style configure script).
Let me know if there are other great Free and Open Source 3D Graphics software applications that I failed to include in the list.
For those of you who are into creating two-dimensional models, you can check out our list of 2D animation software for Linux.