The toolkit is written in standard C++ using OpenGL,[2] and runs on a variety of operating systems including Microsoft Windows, macOS, Linux, IRIX, Solaris and FreeBSD.
Since version 3.0.0, OpenSceneGraph also supports application development for mobile platforms, namely iOS and Android.
Towards the end of the year Osfield took over the project and began extensive refactoring of the existing codebase, putting emphasis on modernisation, embracing modern C++ standards and design patterns.
There are more than 530 contributors signed under current stable version, and the official mailing list contains thousands of names.
The architecture of OpenThreads is designed around "swappable" thread models which are defined at compile-time in a shared object library.
It is of importance to note that while a factory pattern design could have been used to achieve the goal of generic interface, it would have required the programmer to allocate each of the 4 fundamental types (Thread, Mutex, Barrier, & Condition) on the heap.
The void pointers actually point at concrete data structures, but give a uniform interface to the dso.
The OSG is also shipped with a osgProducer which is just a platform-independent viewer supporting multiple graphic contexts and multi-threading.
Among the most significant are OpenSceneGraph doesn't provide any functionality for higher "gaming" logic, it is a rendering-only tool.
There is a great variety of software products built on top of OpenSceneGraph; among others, Virtual Terrain Project and ViewTec TerrainView.
[18][19][20][21][22] At the opensource community level, several projects have adopted OSG as a rendering backend: OpenSceneGraph has received a javascript/WebGL implementation called OSG.JS that is used by many online 3D scene viewers including Sketchfab and Clara.io.