Home

Awesome

Build Status

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.

IBL

Features

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

B3D 3-Clause