Scene graph dependencies
The OpenSceneGraph is composed of core scene graph libraries, plugins libraries
and demo programs. The core scene graph libraries (osg, osgDB, osgUtil, osgText,
osgParticle, osgSim) are only dependent upon OpenGL and Standard C++ so should
compile straight out of the box on most systems. To run the examples one
will also need to compile osgProducer which adds the dependency of Producer,
and if true type text is required then the freetype library will be required.
The plugins which are used to read and write various file formats have their
own sets of dependencies listed below, some have no dependencies at all.
A plugin is only needed if you need to load that specific file format, so
it is not critical if you don't have all the required dependencies.
Windows dependency archives
To make life easier for Windows users, we have put together a .zip archives
with all the required dependencies which can be download and installed somewhere
in you system. You'll need to set VisualStudio to pick up on the include
and libs, and the PATH set to pick up in the dll's. Alternatively, a more
hacky but simpler solution is to unpack this archive inside you OpenSceneGraph
distribution, so that all the include files drop into OpenSceneGraph/include,
and the libs drop into OpenSceneGraph/lib, and all the dll's drop into OpenSceneGraph/bin,
this way VisualStudio will pick up the files simpler through the paths set
up inside the workspace and project files. The archives can be downloaded
here: . .
- freetype, libpng, libungif, libtiff, libjpeg & zlib includes, libs
and dll.
Core library dependencies
- src/osgDB + src/osgPlugin/txp + src/osgProducer all depend upong
OpenThreads library :
- src/osgProducer - The osgProducer library depends upon, you guessed
it, Producer...
The examples which are included with the distribution depend upon osgProducer
(and hence Producer) but if you don't need the examples or osgProducer you
need to compile them, and can remove references to osgProducer and the examples
by editing your VisualStudio workspace files or Make/makedirdefs approrpiately.
Plug-in dependencies
Follows is the list of dependencies which some of the osgPlugins require,
note the core osg and viewer do not need the following dependencies, you only
need the following if you require each specific plugin. Note, the flt, 3ds,
pic, tga, do not have any dependencies other than Standard C++ so will compile
straight of the bag. Under Linux the majority of the dependencies below come
as standard with distributions so you may not need to download them at all.
Its best to try out a straight compile of the osg, if you get missing includes/libs
errors then chase up the below.
- src/osgPlugins/freetype - The osgText library supports true type fonts
via the freetype library.
- src/osgPlugins/pfb
There is a Performer plugin in this distribution for converting from Performer
to OSG and from OSG to Performer. This plugin requires Performer to be installed
and therefore is not compiled by default. If you have Performer (available
under Linux and IRIX) then edit src/osgPlugins/Make to compile under the
plugin. Performer can be downloaded from :
- src/osgPlugins/png
The png plugin depends upon the libpng and zlib (for compression) libraries,
if you don't already have it installed, you'll need to download, compile and
install it. Project home pages are:
- src/osgPlugins/gif
The gif plugin depends upon the libungif library, if you don't already have
it installed, you'll need to download, compile and install it. Project home
page is:
Ftp download at :
- src/osgPlugins/jpeg
The jpeg plugin depends upon the libjpeg library, if you don't already have
it installed, you'll need to download, compile and install it. Project home
page is:
- src/osgPlugins/tiff
The tiff plugin depends upon the libtiff library, if you don't already have
it installed, you'll need to download, compile and install it. Project home
page is:
- src/osgPlugins/zip
The zip compressed archive plugin depends upon the unzip executable being
available on your system. If it is not then you'll be able to find binaries
at:
- src/osgPlugins/tgz
The tgz compressed archive plugin depends upon the unzip executable being
available on your system. If it is not then you'll be able to find binaries
at:
- src/osgPlugins/osgtgz
Has the same dependencies as the tgz plugin above.