Compilation dependencies

Index | Introduction | Contents | Install | Dependencies | examples | Data | Viewer | Stereo | Plan | Reference Guides

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

http://www.openscenegraph.org/download/dependencies/OsgWin32Dependencies.zip

### Core library dependencies

- src/osgDB + src/osgPlugin/txp + src/osgProducer all depend upon OpenThreads library :

http:://openthreads.sourceforge.net

- src/osgProducer - The osgProducer library depends upon, you guessed it, Producer...

http://www.andesengineering.com/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 :

- example/slideshow3D depends upon libxml2 :
http://xmlsoft.org/

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

http://www.freetype.org/

- 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 :

http://www.sgi.com/

- 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:

http://www.libpng.org/pub/png/libpng.html
http://www.info-zip.org/pub/infozip/zlib/

- 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:

http://prtr-13.ucsc.edu/~badger/software/libungif/

Ftp download at :

ftp://prtr-13.ucsc.edu/pub/libungif/

- 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:

http://www.ijg.org/

- 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:

http://www.libtiff.org

- 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:

http://www.freesoftware.com/pub/infozip/

- 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:

http://www.gzip.org/
ftp://prep.ai.mit.edu/pub/gnu/tar/

- src/osgPlugins/osgtgz
Has the same dependencies as the tgz plugin above.