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/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.