Clone wiki

Coin / IntroductionToCoin3D




Coin is an OpenGL-based, 3D graphics library that has its roots in the Open Inventor 2.1 API, which Coin still is compatible with.

If you are not familiar with Open Inventor, it is a scene-graph based, retain-mode, rendering and model manipulation, C++ class library, originally designed by SGI. It quickly became the de facto standard graphics library for 3D visualization and visual simulation software in the scientific and engineering community after its release. It also became the basis for the VRML1 file format standard. Several books exists on the subject of Open Inventor, most notably The Inventor Mentor, and The Inventor Toolmaker, both highly recommended for those who wants to learn how to use Open Inventor.

Coin is based on the API of this library, but was developed from scratch independently before SGI Open Inventor became open source. It does not share any code with SGI Open Inventor, other than through random coincidences guided by the Open Inventor API design. Coin reached the goal of Open Inventor 2.1 compatibility in the autumn of the year 2000, and has since then been extended with a huge set of additional features, ranging from 3D sound support to GLSL shader support, additional file formats like VRML97, and a large number of internal changes for keeping up with the newer, more optimized OpenGL rendering techniques that were not available in the earlier days.

Another term you might find when reading about Coin is "Coin3D", which is the term we use on the larger group of libraries that all fall under the same license as Coin. Coin is the core of Coin3D.


Latest release

See <<file NEWS>> for the summary of changes, <<file RELNOTES>> for a more verbose description of the more significant updates, and <<file ChangeLog>> for the detailed source code update list.

See <<file INSTALL>> for installation instructions, and all the other README.* files for platform-specific notes.

Historical Notes

Coin started out, back in 1995, as a scene graph rendering library for VRML1.0 scenes. It was originally based on SGI's Qv library for parsing files in the VRML1.0 format. After years of extending this humble beginning with new functionality like VRML1 and VRML2 rendering and export, the library was in late 1997 in dire need of a fundamental redesign.

On the surface, the API looked quite like Open Inventor already. The concepts used by Open Inventor are also often mentioned as good design methodologies in many software engineering books, and some of our developers had had some experience with the library in advance and found it incredibly convenient. At the same time as we were contemplating a rewrite, the Free Software Movement got some great buzz going, and we saw the golden opportunity to homestead our library as the Free Software alternative to Open Inventor. We therefore decided to go for the rewrite, and after a short period coined the name Coin.

As luck would not have it, as soon as we went to beta status with Coin for SIGGRAPH 2000, SGI also decided to release their Open Inventor as Free Software. It soon became apparent though, that SGI Open Inventor was released to mainly be kept in maintenance mode. This made us confident that continuing the Coin development would still be well worth it.

The development of Coin was in the beginning primarily done on Linux and IRIX systems, but is now mostly developed under Linux, Windows with Cygwin, and Mac OS X systems.

Many people have contributed through the years to the success of Coin, be it in the form of patches, problem-reports, or other kinds of feedback to the core Coin developer team. The file <<file THANKS>> tries to credit all those helpful souls. Our apologies to those who have been forgotten.

OpenGL and Open Inventor are trademarks of SGI Inc.