Panda3D Manual: Dependencies


This page is not in the table of contents.

When building Panda3D yourself on your computer you'll notice that makepanda.py looks up if you have some libraries installed. On operating systems with a packaging system, like most GNU/Linux distros have, you'll most likely find all dependencies as packages in the official repositories. Otherwise you have to take care of the libraries yourself.

Here you have a list of all third party libraries Panda3D must or can be compiled against. All of them are optional, but some features of Panda3D depend on certain libraries being available; omitting certain libraries will omit the corresponding features from Panda3D.

Recommended

OpenSSL

http://www.openssl.org
Provides some networking and encryption support. Required for HTTPClient, and for pencrypt/pdecrypt and related functionality.

FFMPEG

http://ffmpeg.org
Library for video and audio. Required to load and play video textures.

libjpeg

http://www.ijg.org
JPEG library. Required to read and save JPEG files.

libpng

http://www.libpng.org
Portable Network Graphics library. Required to read and save PNG files.

Freetype

http://freetype.sourceforge.net
Font library. Required to use dynamic fonts such as TTF files. Even without this library, however, Panda can use static fonts stored in egg files, as generated by the tool egg-mkfont (however, the tool egg-mkfont itself requires Freetype).

GTK

http://www.gtk.org
The Gimp ToolKit is used by only by PStats, and only on non-Windows platforms.

Python

http://python.org
Panda3D is way easier and faster to code with when using Python bindings.

FMOD

http://www.fmod.org
Fmod is a proprietary audio library that supports various effects and surround sound. You must have one of FMOD or OpenAL to build support for Panda's sound interfaces. (However, you can use external sound libraries such as pygame, even without these two.)

OpenAL

http://www.openal.org
The Open Audio Library is a free alternative to FMOD and supports nearly the same features, including 3D surround sound.

Cg Toolkit

http://developer.nvidia.com/object/cg_toolkit.html
Nvidia's Cg Toolkit is required for Panda's Cg support.

Open Dynamics Engine (ODE)

http://www.ode.org
One of the most versatile, free physics engines. Very well integrated into Panda.

Very Optional

libsquish

http://code.google.com/p/libsquish/
Libsquish gives DXT support. This improves Panda's support for pre-compressed texture images such as dds files, and it allows Panda to streamline compression of textures images at load time. However, even without this library, Panda can still compress and use compressed textures, by relying on the interfaces built into your graphics driver.

FFTW

http://www.fftw.org
Fast Fourier Fransforms library for lossy animation compression in bam files. Compressed animation files may be as small as 10% of the uncompressed animation, but this is only an on-disk and/or download savings.

OpenCV

http://opencv.willowgarage.com
An alternate library that provides support for video textures, similar to FFMPEG.

ATRoolKit

http://www.hitl.washington.edu/artoolkit/
A library for augmented reality. It makes possible detecting 3D planes in live webcam video streams and applying 3D geometry to those, for integrating 3D graphics with a live video feed.

FCollada

https://collada.org/mediawiki/index.php/FCollada
FCollada is an open-source C++ library which offers support for COLLADA interoperability, used for dae2egg and for loading dae files directly into Panda.