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 upon
OpenThreads library :
- src/osgProducer - The osgProducer library depends upon, you guessed
it, Producer...
Example dependencies
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.
Additionally :
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.