
Understanding Panda3D's runtime configuration options
Panda3D allows you to configure the engine runtime using a central configuration file. This recipe will show you where to find this configuration file and will explain a selection of settings you are able to specify to tweak Panda3D's behavior.
How to do it...
You can configure the Panda3D engine with these two steps:
- Open the file
C:\Panda3D-1.7.0\etc\Config.prc
in a text editor. - Edit and add settings.
How it works...
Now that you've opened Panda3D's configuration file, it is time to explain a good part of the vast array of settings the engine allows you to modify. The following table will present the names of the configuration variables, the values that can be set, as well as a short description of what part of Panda3D is influenced by the setting.
The column containing the possible values uses several notations:
- Square brackets are used to denote an interval of values. For example, [0..8] denotes an interval of integers between 0 and 8, while the notation [0.0..1.0] stands for an interval of floating point values. The interval boundaries are inclusive.
- Within intervals, the labels
MAX_INT
andMAX_DBL
are used as placeholders for the maximum possible values for signed integer and floating point variables. - The
prc
file format uses#t
for true and#f
for false for Boolean configuration flags. For example, the following line inConfig.prc
enables full screen mode:fullscreen #t
- "A valid file path" means a Unix-style file path, even on Windows. For example, the following line is used to set the application icon:
icon-filename /c/mygame/assets/icon.ico
- Any other values than the ones previously described are meant to be inserted directly, without quotes. If multiple values are listed, you may use one of them at a time.


There's more...
By setting the configuration variables above, you are already able to modify the engine's runtime behavior to your liking. But Panda3D's configuration system provides a few additional features you should know about.
Listing all configuration variables
The preceding table only shows a selection of the most commonly used configuration variables. To get a list of all configuration variables available in Panda3D, insert the following import statement and method call into your application code:
from panda3d.core import ConfigVariableManager ConfigVariableManager.getGlobalPtr().listVariables()
Loading a specific configuration file
You do not need to put all engine settings into the global configuration file shown in this recipe. Instead, you can use the following function to load settings from any given file:
loadPrcFile("myconfig.prc")
You should put this call to a global scope to make sure settings are loaded before the engine systems that are using them are initialized.