panda3d-simplepbr
A straight-forward, easy-to-use, drop-in, PBR replacement for Panda3D's builtin auto shader
What it is and what it does
panda3d-simplepbr is a drop-in PBR rendering pipeline for Panda3D that replaces the engine's default auto-shader. It implements forward-rendered metal-rough physically-based materials with support for all Panda3D light types (point, directional, spot, ambient), normal maps, emission and occlusion maps, shadow mapping for directional and spot lights, filmic tonemapping, and image-based lighting. The shader design is inspired by the Khronos glTF Sample Viewer and targets OpenGL 2.1+ hardware for broad compatibility.
The package is designed for game developers and graphics programmers working with Panda3D who need modern material rendering without writing custom shaders. It integrates via a single init() call and provides configuration options for typical use cases. The project has been in active development since its first release in 2019 and reached beta status, though recent maintenance activity has slowed.
Use it for:
- Build a Panda3D game or interactive application with realistic material rendering using PBR workflows.
- Render models with proper metal-rough material appearance in Panda3D projects.
- Add image-based lighting and shadow mapping to an existing Panda3D project without custom shader code.
- Prototype graphics-heavy applications on mid-range hardware with OpenGL 2.1+ support.
- Integrate normal, emission, and occlusion maps into Panda3D scenes for enhanced visual fidelity.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a physically-based rendering (PBR) shader pipeline for Panda3D that replaces the engine's built-in auto-shader with support for metal-rough materials, multiple light types, and image-based lighting.
Yes, if you are building a Panda3D application that needs modern PBR rendering. The package is stable, permissively licensed, installs cleanly, and has no known vulnerabilities. The aging maintenance status (502 days since last release) is a minor concern for long-term compatibility, but the codebase appears solid. Start with it if you need PBR in Panda3D; monitor the repository for compatibility issues with future panda3d releases.
Install
panda3d-simplepbr on PyPI
pip
pip install panda3d-simplepbruv
uv add panda3d-simplepbrpoetry
poetry add panda3d-simplepbrInstalling panda3d-simplepbr
Before you install
Installs with minimal friction—pure Python wheel with only panda3d and typing_extensions as runtime dependencies. Maintenance is aging (502 days since last release, last commit March 2025), so expect slower response to issues but the codebase appears stable.
License in practice
BSD-3-Clause (permissive) allows commercial and private use with attribution; no restrictions on modification or distribution.
Quickstart
pip install panda3d-simplepbr
import simplepbr
simplepbr.init()
Requires Python 3.9 or later; panda3d must be installed separately.
Verify before relying
- Whether the aging maintenance status (502 days since last release) affects compatibility with recent panda3d versions.
- Performance characteristics and hardware support breadth beyond the stated OpenGL 2.1+ minimum.
- Specific configuration options available via the init() function beyond typical defaults.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — panda3d, typing_extensions |
| Maintenance | aging — 502 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 117,855/month — #12,145 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: panda3d_simplepbr-0.13.1-py3-none-any.whl
Keywords: panda3d, gamedev, pbr
Tags
More Graphics packages
Pillow adds image processing capabilities to…
permissive · top 100 on PyPI
fonttoolsfonttools manipulates font files in multiple…
permissive · top 1,000 on PyPI
matplotlib-inlineEnables matplotlib figures to display inline…
permissive · top 1,000 on PyPI
pymupdfPyMuPDF extracts, renders, converts, and…
agpl · top 1,000 on PyPI
pypdfium2pypdfium2 is a Python binding to PDFium that…
permissive · top 1,000 on PyPI
altairAltair is a declarative Python library for…
permissive · top 1,000 on PyPI
Panda3DPanda3D is a 3D game engine with Python…
permissive · top 15,000 on PyPI
panda3d-gltfAdds glTF 2.0 file loading to Panda3D,…
permissive · top 15,000 on PyPI
pyrenderPyrender renders 3D scenes to images and…
permissive · top 5,000 on PyPI
modernglModernGL is a Python wrapper over OpenGL Core…
permissive · top 15,000 on PyPI
pbrPBR injects sensible defaults into setuptools…
permissive · top 1,000 on PyPI
ursinaUrsina is a Python game engine built on Panda3D…
permissive · top 15,000 on PyPI
moderngl-windowmoderngl-window simplifies OpenGL window…
permissive · top 15,000 on PyPI
cascadioConverts STEP files to GLB (glTF binary) format…
unclear · top 15,000 on PyPI
mitsubaMitsuba 3 is a research-oriented rendering…
permissive · top 15,000 on PyPI
dagster-snowflake-pandasIntegrates Snowflake and Pandas with Dagster's…
permissive · top 15,000 on PyPI