panda3d-simplepbr
A straight-forward, easy-to-use PBR render pipeline for Panda3D. This project aims to be a drop-in replacement for Panda3D's auto-shader. The PBR shader is heavily inspired by the Khronos glTF Sample Viewer. Note: this project does not make an attempt to match a reference renderer.
Features
- Supports running on a wide range of hardware with an easy OpenGL 2.1+ requirement
- Forward rendered metal-rough PBR
- All Panda3D light types (point, directional, spot, and ambient)
- Filmic tonemapping
- Normal maps
- Emission maps
- Occlusion maps
- Basic shadow mapping for DirectionalLight and Spotlight
- Post-tonemapping color transform via a lookup table (LUT) texture
- IBL diffuse and specular
Installation
Use pip to install the panda3d-simplepbr package:
pip install panda3d-simplepbr
To grab the latest development build, use:
pip install git+https://github.com/Moguri/panda3d-simplepbr.git
Documentation
More detailed documentation can be found here.
Usage
Just add simplepbr.init() to your ShowBase instance:
from direct.showbase.ShowBase import ShowBase
import simplepbr
class App(ShowBase):
def __init__(self):
super().__init__()
simplepbr.init()
The init() function will choose typical defaults.
Details on available options can be found here
Example
For an example application using panda3d-simplepbr check out the viewer in the panda3d-gltf repo.
Developing
This project uses uv for project management.
After installing uv, run uv sync to install dependencies and create a virtual environment.
Linting
This project uses ruff for linting. Running lint checks can be done with:
uv run ruff check
Running Tests
uv run pytest
Building Wheels
uv run build
License
Metadata
Release files for panda3d-simplepbr 0.13.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| panda3d_simplepbr-0.13.1.tar.gz | 6.2 MB | Without provenance | Details for panda3d_simplepbr-0.13.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| panda3d_simplepbr-0.13.1-py3-none-any.whl | Python 3 | none | any | Details for panda3d_simplepbr-0.13.1-py3-none-any.whl |
Total release size: 8.7 MB
Release files / panda3d_simplepbr-0.13.1.tar.gz
| Download URL | panda3d_simplepbr-0.13.1.tar.gz |
|---|---|
| Size | 6.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c83766d7c8f47499f365a07fe1dff078fc8b3054c2689bdc8dceabddfe7f1a35
|
|
BLAKE2b-256 checksum How to use checksums |
0dbec4d1ded04c22b357277cf6e6a44c1ab4abb285a700bd1991460460e05b99
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / panda3d_simplepbr-0.13.1-py3-none-any.whl
| Download URL | panda3d_simplepbr-0.13.1-py3-none-any.whl |
|---|---|
| Size | 2.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cda41cb57cff035b851646956cfbdcc408bee42511dabd4f2d7bd4fbf48c57a9
|
|
BLAKE2b-256 checksum How to use checksums |
115d3744c6550dddf933785a37cdd4a9921fe13284e6d115b5a2637fe390f158
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Security for panda3d-simplepbr 0.13.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.