Panda3D

Panda3D 是一个游戏引擎,用 Python 和 c++ 开发的 3D 渲染和游戏开发的框架。(Panda3D is a game engine, a framework for 3D rendering and game development for Python and C++ programs.)

Github stars Tracking Chart

Panda3D 是一个游戏引擎,用 Python 和 c++ 开发的 3D 渲染和游戏开发的框架。Panda3D 是开源和免费的,可用于任何目的,包括商业企业。这要归功于它的自由许可(liberal license)。 来吧,在这里下载它。 要了解有关Panda3D功能的更多信息,请访问图库功能列表。 要了解如何使用Panda3D,请查看文档资源。 如果您遇到困难,请向社区寻求帮助,这非常活跃。

详细特性参见:https://www.panda3d.org/manual/index.php/Features

Overview

Name With Ownerpanda3d/panda3d
Primary LanguageC++
Program languageC++ (Language Count: 20)
PlatformAndroid, BSD, Linux, Mac, Windows
License:Other
Release Count22
Last Release Namev1.10.14 (Posted on 2024-01-08 16:53:12)
First Release Namev1.8.0 (Posted on 2012-02-13 08:35:52)
Created At2013-09-30 10:20:25
Pushed At2024-04-25 11:58:36
Last Commit At2024-04-01 22:30:17
Stargazers Count4.3k
Watchers Count201
Fork Count770
Commits Count26.1k
Has Issues Enabled
Issues Count954
Issue Open Count297
Pull Requests Count204
Pull Requests Open Count40
Pull Requests Close Count443
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

Build Status
OpenCollective
OpenCollective

Panda3D

Panda3D is a game engine, a framework for 3D rendering and game development for
Python and C++ programs. Panda3D is open-source and free for any purpose,
including commercial ventures, thanks to its
liberal license. To learn more about
Panda3D's capabilities, visit the gallery
and the feature list. To learn how to
use Panda3D, check the documentation
resources. If you get stuck, ask for help from our active
community.

Panda3D is licensed under the Modified BSD License. See the LICENSE file for
more details.

Installing Panda3D

The latest Panda3D SDK can be downloaded from
this page.
If you are familiar with installing Python packages, you can use
the following comand:

pip install panda3d

The easiest way to install the latest development build of Panda3D
into an existing Python installation is using the following command:

pip install --pre --extra-index-url https://archive.panda3d.org/ panda3d

If this command fails, please make sure your version of pip is up-to-date.

If you prefer to install the full SDK with all tools, the latest development
builds can be obtained from this page.

These are automatically kept up-to-date with the latest GitHub version of Panda.

Building Panda3D

Windows

You can build Panda3D with the Microsoft Visual C++ 2015, 2017 or 2019 compiler,
which can be downloaded for free from the Visual Studio site.
You will also need to install the Windows 10 SDK,
and if you intend to target Windows Vista, you will also need the
Windows 8.1 SDK.

You will also need to have the third-party dependency libraries available for
the build scripts to use. These are available from one of these two URLs,
depending on whether you are on a 32-bit or 64-bit system, or you can
click here for instructions on
building them from source.

After acquiring these dependencies, you can build Panda3D from the command
prompt using the following command. Change the --msvc-version option based
on your version of Visual C++; 2019 is 14.2, 2017 is 14.1, and 2015 is 14.
Remove the --windows-sdk=10 option if you need to support Windows Vista,
which requires the Windows 8.1 SDK.

makepanda\makepanda.bat --everything --installer --msvc-version=14.2 --windows-sdk=10 --no-eigen --threads=2

When the build succeeds, it will produce an .exe file that you can use to
install Panda3D on your system.

Note: you may choose to remove --no-eigen and build with Eigen support in
order to improve runtime performance. However, this will cause the build to
take hours to complete, as Eigen is a heavily template-based library, and the
the MSVC compiler does not perform well under these circumstances.

Linux

Building Panda3D on Linux is easy. All you need is to invoke the makepanda
script using the version of Python that you want Panda3D to be built against.

Run makepanda.py with the --help option to see which options are available.
Usually, you will want to specify the --everything option (which builds with
support for all features for which it detects the prerequisite dependencies)
and the --installer option (which produces an installable .deb or .rpm file
for you to install, depending on your distribution).

The following command illustrates how to build Panda3D with some common
options:

python makepanda/makepanda.py --everything --installer --no-egl --no-gles --no-gles2 --no-opencv

You will probably see some warnings saying that it's unable to find several
dependency packages. You should determine which ones you want to include in
your build and install the respective development packages. You may visit
this manual page
for an overview of the various dependencies.

If you are on Ubuntu, this command should cover the most frequently
used third-party packages:

sudo apt-get install build-essential pkg-config fakeroot python-dev libpng-dev libjpeg-dev libtiff-dev zlib1g-dev libssl-dev libx11-dev libgl1-mesa-dev libxrandr-dev libxxf86dga-dev libxcursor-dev bison flex libfreetype6-dev libvorbis-dev libeigen3-dev libopenal-dev libode-dev libbullet-dev nvidia-cg-toolkit libgtk2.0-dev libassimp-dev libopenexr-dev

Once Panda3D has built, you can either install the .deb or .rpm package that
it produced, depending on which Linux distribution you are using. For example,
to install the package on Debian or Ubuntu, use this:

sudo dpkg -i panda3d*.deb

If you are not using a Linux distribution that supports .deb or .rpm packages, you
may have to use the installpanda.py script instead, which will directly copy the
files into the appropriate locations on your computer. You may have to run the
ldconfig tool in order to update your library cache after installing Panda3D.

Alternatively, you can add the --wheel option, which will produce a .whl
file that can be installed into a Python installation using pip.

macOS

On macOS, you will need to download a set of precompiled thirdparty packages in order to
compile Panda3D, which can be acquired from here.

After placing the thirdparty directory inside the panda3d source directory,
you may build Panda3D using a command like the following:

python makepanda/makepanda.py --everything --installer

You may target a specific minimum macOS version using the --osxtarget flag
followed by the release number, eg. 10.7 or 10.9.

If the build was successful, makepanda will have generated a .dmg file in
the source directory containing the installer. Simply open it and run the
package file in order to install the SDK onto your system.

FreeBSD

Building on FreeBSD is very similar to building on Linux. You will need to
install the requisite packages using the system package manager. To install
the recommended set of dependencies, you can use this command:

pkg install pkgconf bison png jpeg-turbo tiff freetype2 harfbuzz eigen squish openal opusfile libvorbis libX11 mesa-libs ode bullet assimp openexr

You will also need to choose which version of Python you want to use.
Install the appropriate package for it (such as python2 or python36) and
run the makepanda script with your chosen Python version:

python3.6 makepanda/makepanda.py --everything --installer --no-egl --no-gles --no-gles2

If successful, this will produce a .pkg file in the root of the source
directory which you can install using pkg install.

Android

Note: building on Android is very experimental and not guaranteed to work.

You can experimentally build the Android Python runner via the termux
shell. You will need to install Termux
and Termux API
from the Play Store. Many of the dependencies can be installed by running the
following command in the Termux shell:

pkg install python ndk-sysroot clang bison freetype harfbuzz libpng eigen openal-soft opusfile libvorbis assimp libopus ecj dx patchelf aapt apksigner libcrypt openssl pkg-config

Then, you can build the .apk using this command:

python makepanda/makepanda.py --everything --target android-21 --no-tiff --installer

You can install the generated panda3d.apk by browsing to the panda3d folder
using a file manager. You may need to copy it to /sdcard to be able to
access it from other apps.

To launch a Python program from Termux, you can use the run_python.sh script
inside the panda/src/android directory. It will launch Python in a separate
activity, load it with the Python script you passed as argument, and use a
socket for returning the command-line output to the Termux shell. Do note
that this requires the Python application to reside on the SD card and that
Termux needs to be set up with access to the SD card (using the
termux-setup-storage command).

Running Tests

Install PyTest
and run the pytest command. If you have not installed Panda3D, you will
need to configure your enviroment by pointing the PYTHONPATH variable at
the built directory. On Linux, you will also need to point the
LD_LIBRARY_PATH variable at the built/lib directory.

As a convenience, you can alternatively pass the --tests option to makepanda.

Reporting Issues

If you encounter any bugs when using Panda3D, please report them in the bug
tracker. This is hosted at:

https://github.com/panda3d/panda3d/issues

Make sure to first use the search function to see if the bug has already been
reported. When filling out a bug report, make sure that you include as much
information as possible to help the developers track down the issue, such as
your version of Panda3D, operating system, architecture, and any code and
models that are necessary for the developers to reproduce the issue.

If you're not sure whether you've encountered a bug, feel free to ask about
it in the forums or the IRC channel first.

Supporting the Project

If you would like to support the project financially, visit
our campaign on OpenCollective. Your
contributions help us accelerate the development of Panda3D.

For the list of backers, see the BACKERS.md file or visit the
Sponsors page on our web site. Thank you
to everyone who has donated!

Gold Sponsors





To the top