Home

Awesome

Pipeline License

panda3d-gltf

This project adds glTF loading capabilities to Panda3D. One long-term goal for this project is to be used as a reference for adding a builtin, C++ glTF loader to Panda3D. If and when Panda3D gets builtin support for glTF, this module will go into maintenance mode and be used to backport glTF support to older versions of Panda3D.

Features

Installation

Use pip to install the panda3d-gltf package:

pip install panda3d-gltf

To grab the latest development build, use:

pip install git+https://github.com/Moguri/panda3d-gltf.git

Usage

Configuration

panda3d-gltf has the following configuration options. See below for information on setting these options for the native loader and the CLI.

Native loading

panda3d-gltf ships with a Python file loader (requires Panda3D 1.10.4+), which seamlessly adds glTF support to Panda3D's Loader classes. This does not add support to pview, which is a C++ application that does not support loading Python file loaders. Instead of pview, use the gltf-viewer that ships with panda3d-gltf.

The loader can be configured via PRC variables. These PRC variables are prefixed with gltf- but otherwise match the names above. For example, use gltf-collision-shapes bullet to have the loader load Bullet shapes instead of CollisionSolids.

Command Line

To convert glTF files to BAM via the command line, use the supplied gltf2bam tool:

gltf2bam source.gltf output.bam

See gltf2bam -h for more information on usage and available CLI flags.

Viewer

panda3d-gltf ships with gltf-viewer. This is a simple viewer (like pview) to view glTF (or any other file format support by Panda3D) with a simple, PBR renderer.

Running Tests

First install panda3d-gltf in editable mode along with test extras:

pip install -e .[test]

Then run the test suite with pytest:

pytest

Building Wheels

Install build:

pip install --upgrade build

and run:

python -m build

License

B3D 3-Clause