![Maven Central Adds Sigstore Signature Validation](https://cdn.sanity.io/images/cgdhsj6q/production/7da3bc8a946cfb5df15d7fcf49767faedc72b483-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
A straight-forward, easy-to-use, drop-in, PBR replacement for Panda3D's builtin auto shader
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.
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
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, but the following can be modified via keyword arguments:
render_node
: The node to attach the shader too, defaults to base.render
if None
window
: The window to attach the framebuffer too, defaults to base.win
if None
camera_node
: The NodePath of the camera to use when rendering the scene, defaults to base.cam
if None
msaa_samples
: The number of samples to use for multisample anti-aliasing, defaults to 4
max_lights
: The maximum number of lights to render, defaults to 8
use_normal_maps
: Use normal maps to modify fragment normals, defaults to False
(NOTE: Requires models with appropriate tangents defined)
use_emission_maps
: Use emission maps, defaults to True
use_occlusion_maps
: Use occlusion maps, defaults to False
(NOTE: Requires occlusion channel in metal-roughness map)
enable_shadows
: Enable shadow map support, defaults to True
shadow_bias
: A global bias for shadow mapping (increase to reduce shadow acne, decrease to reduce peter-panning), defaults to 0.005
enable_fog
: Enable exponential fog, defaults to False
exposure
: a value used to multiply the screen-space color value prior to tonemapping, defaults to 1.0
use_330
: Force shaders to use GLSL version 330 (if True
) or 120 (if False
) or auto-detect if None
, defaults to None
use_hardware_skinning
: Force usage of hardware skinning for skeleton animations or auto-detect if None
, defaults to None
sdr_lut
: Color LUT to use post-tonemapping
sdr_lut_factor
: Factor (from 0.0 to 1.0) for how much of the LUT color to mix in, defaults to 1.0
env_map
: An EnvMap
or cubemap texture path to use for IBL, defaults to None
calculate_normalmap_blue
: Calculate the blue channel (Z-axis) for a normal map in the shader (allows saving memory/bandwidth by using 2 channel normal maps), defaults to True
Those parameters can also be modified later on by setting the related attribute of the simplepbr Pipeline
returned by the init()
function:
pipeline = simplepbr.init()
...
pipeline.use_normals_map = True
simplepbr expects the following textures are assigned to the following texture stages:
For an example application using panda3d-simplepbr
check out the viewer in the panda3d-gltf repo.
First install panda3d-simplepbr
in editable mode along with test
extras:
pip install -e .[test]
Then run the test suite with pytest
:
pytest
Install build
:
pip install --upgrade build
and run:
python -m build
FAQs
A straight-forward, easy-to-use, drop-in, PBR replacement for Panda3D's builtin auto shader
We found that panda3d-simplepbr demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.