glTF utilities for Panda3D
Project description
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
- Adds support for native loading of glTF files
- Supports glTF 2.0 excluding morph targets
- Supports binary glTF
- Includes support for the following extensions:
- KHR_lights (deprecated in favor of KHR_lights_punctual)
- KHR_lights_punctual
- BLENDER_physics
- Ships with a
gltf2bam
cli-tool for converting glTF files to BAM - Ships with
gltf-viewer
for viewing files (including glTF) with a simple PBR renderer
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
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
.
For those that need to support Panda3D 1.10.3 or lower, panda3d-gltf
also supplies a patch_loader()
function to monkey-patch glTF support to ShowBase.loader
:
import gltf
class App(ShowBase):
def __init__(self):
...
gltf.patch_loader(self.loader)
...
On Panda3D 1.10.4+, this function will leave self.loader
alone in favor of relying on the Python file loader.
Command Line
To convert glTF files to BAM via the command line, use the supplied gltf2bam
tool:
gltf2bam source.gltf output.bam
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.
API Stability
Since panda3d-gltf
has not reached a 1.0 release, its API should not be considered "stable."
However, this mostly applies to internals, and effort will be put into keeping the gltf2bam
API from breaking.
patch_loader()
will also be kept stable, but will eventually be phased out in favor of the Python file loader.
Running tests
python setup.py test
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file panda3d-gltf-0.3.tar.gz
.
File metadata
- Download URL: panda3d-gltf-0.3.tar.gz
- Upload date:
- Size: 18.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f2b77633b6d5d9f6d72b839bd01cc030b9511c76d54579e8d4fc815af897c1d |
|
MD5 | ee171895f542960bff8fc03fa19923d3 |
|
BLAKE2b-256 | 0c44b8073078ceb137bd7da42b145f18303623bc841f761a51f2fb330d7a4fc0 |
Provenance
File details
Details for the file panda3d_gltf-0.3-py3-none-any.whl
.
File metadata
- Download URL: panda3d_gltf-0.3-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2750fcba9d02d537dcad5653a83fd860910dcd528f86975de2be66e331f5d438 |
|
MD5 | 0705aad6a27dbac10d36e25277e99fbb |
|
BLAKE2b-256 | 6e5ff016c039a8730c0ea4cff17eaa7a68daf38983c9e18511344ff3bea2cca9 |