Complexpbr -- A Module for PBR IBL, SSAO, SSR, AA, Vertex Displacement and More in Panda3D

complexpbr Release 0.6.3 Update

panda3d-complexpbr 0.6.3 is now available via pip: panda3d-complexpbr 0.6.3 PyPI

This release adds distributable build logic to complexpbr. A new “dist” boolean has been added to both apply_shader() as well as screenspace_init() . This flags the internal logic to sample from complexpbr shader files included in the application distribution directory, or to sample them from module scope.

To assist with this process, a new helper function, complexpbr.copy_to_dist() allows a user to copy all shader files automatically into their program directory before they build with build_apps. This can simply be called once during development before building. It should not be left on in the distributable build itself.

When set to False, the new default, complexpbr utilizes importlib.resources internally to load shader files from the Python module itself. This keeps your working directory clean until you actually build a distributable.

complexpbr.copy_to_dist()

# complexpbr.copy_to_dist() (turn this off before building the distributable)

complexpbr.apply_shader(self.render, dist=True) (new convention for dist builds)

complexpbr.screenspace_init(dist=True) (new convention for dist builds)

1 Like