Panda3D Manual

Welcome to the Panda3D documentation! Panda3D is an open-source, free-to-use 3D engine made for the development of realtime 3D games, visualizations, simulations, experiments — you name it! It consists of a library of subroutines that can be used with either the Python or C++ programming language, as well as a few tools to assist with development and debugging.

There are two versions of the manual: one for Python users and one for C++ users. Use the link in the sidebar to switch between the versions. You are currently viewing the manual for Python users.

The manual is divided up into sections, which are listed below. You can at any time use the sidebar on the left side to navigate between the different sections and their contained pages.

Introduction

We recommend that beginners start out by reading through the Introduction section, which walks through the process of installing Panda3D and ends with a “Hello World” tutorial explaining how to create a very small Panda3D program, to get a sense for what using the engine looks like.

Programming with Panda3D

This section of the manual explains the various features of Panda3D and the various concepts that underpin the library. It is littered with example code and links to the API reference, which should be studied side-by-side with the manual to get a full understanding of how to operate the various classes.

Debugging

This section documents the various methods that can be employed in order to find problems in a Panda3D program.

Performance Optimization

Performance optimization is often a necessary step in the production of a 3D game in order to make the game work on as broad a range of computer hardware as possible. This section explains how to find and fix performance issues using the powerful performance analysis tools that Panda3D offers.

Distribution

This section explains how to compile a completed Panda3D application into an executable file and package it up for distribution.

Tools

This section lists a number of tools to support programming with Panda3D, including the various exporters for 3D modelling programs in order to get models imported into Panda3D.

API Reference

This section contains a complete listing of all the classes and functions that are a part of the Panda3D API.

More Resources

Aside from this manual, there are a number of other resources that may be useful when studying Panda3D, including books, sample programs, and user-contributed tutorials. This section contains links to those other resources.

Getting Help

If you are struggling with understanding or using Panda3D, feel free to ask the community! There is a passionate community around Panda3D that is here to help. You can post a question on the discussion forum, visit our Discord server or visit the #panda3d channel on the Libera.Chat IRC server.