Panda3d Simplepbr Versions Save

A straight-forward, easy-to-use, drop-in, PBR replacement for Panda3D's builtin auto shader

v0.12.0

1 month ago
  • Use a constant shadow bias and switch shadows to using front faces
  • Add support for calculating the blue/Z channel of a normal map in the shader
  • Fix IBL reflection vector (was using view-space vector instead of world-space)
  • Fix 330 shaders being used when not requested
  • Some fixes for WebGL (GLSL ES)
  • Fix duplicate definition in tonemap.frag that could cause compile errors
  • Fix potential compile issue with non-330 shaders when calculating shadow contributions
  • Explicitly disable sRGB for HDR framebuffer
  • Fix IBL lagging behind by a frame

v0.11.2

5 months ago
  • Fix use_330 defaulting to True instead of None

v0.11.0

5 months ago
  • Add support for post-tonemap, SDR, color LUT transform
  • Add support for using HDR cubemaps for IBL diffuse and specular
  • Add simplepbr DirectNotify category to provide better control over logging
  • Add type annotations and mark package as being typed
  • Add simplepbr.utils.make_sky_box() to create a skybox NodePath from a cubemap texture
  • Add support for setting initial Pipeline parameters from PRC config variables
  • Default enable_shadows to True
  • Fix using texture2D/3D() instead of texture() when using GLSL 330 shaders
  • Fix error when a DisplayRegion is missing a camera
  • Fix shadows being delayed by a frame
  • Fix TextNode.set_text_color() not working
  • Fix possible divide-by-zero in Smith GGX visibility function (fixes some visual artifacts)
  • Fix metallics not responding to ambient lighting
  • Fix possible shader compile error for duplicate defines
  • Fix objects rendering black if they do not have a material (there is now a default material)
  • Fix ShowBase.set_background_color() not working after simplepbr.init()

v0.10

2 years ago
  • Fix normals when using hardware skinning
  • Fix hardware skinning when using GLSL 120 shaders
  • Stop enabling the auto shader on TextNodes
  • Improve performance of get_all_casters()
  • Fix gl_FragColor warnings for shadow and tonemap shaders
  • Bundle shaders into a shader.py module when building wheels

v0.9

2 years ago
  • Fix finding shaders on macOS
  • Fix warnings and errors when using GLSL 330 shaders
  • Use semantic texture slots (texture stages) instead of texture indices

v0.8

2 years ago
  • Add light attenuation
  • Allow updating render_node, window, and camera_node properties after setup
  • Add use_330 option to control using GLSL 330 shaders instead of GLSL 120
  • Support texture transforms
  • Add hardware skinning
    • Enabled by default on OpenGL 3.2+ capable hardware
    • Can be controlled with use_hardware_skinning option

Note: Panda3D 1.10.8+ is now required

v0.7

3 years ago
  • Fixes for shader/rendering artifacts
    • Clamp NdotL and NdotV to 0.0
    • Fix GGX/Trowbridge-Reitz equation for normal distribution function
    • Fix normalization of normal vector in the fragment shader
  • Optimizations
    • Use a dedicated shadow shader to avoid expensive PBR functions (mostly helps Intel)
    • Remove Fresnel term from diffuse (i.e., use simple Lambertian)
    • Use Spherical Gaussian approximation in the Fresnel equation
  • Automatically enable auto shader on TextNodes found in the scene graph (fixes TextNode rendering)

v0.6

3 years ago
  • Ensure AntialiasAttrib is set on the render NodePath (ensures MSAA works if enabled)
  • Support occlusion maps in the red channel of an occlusion-metal-roughness (ORM) map
  • Fix ambient lights
  • Support emission maps
  • Shaders moved to their own directory

v0.5

4 years ago
  • Name structs to improve compatibility with Intel drivers
  • Support p3d_ColorScale (modifies the base color)
  • Allow users to set an exposure value
  • Allow changing max_lights, use_normal_maps, msaa_samples, and exposure at runtime
  • Add basic shadow map support for DirectionalLight and Spotlight (NOTE: This breaks if a PointLight is present, and must be explicitly enabled)
  • Add exponential fog (must be explicitly enabled since fog density does not default to 0)

v0.4

4 years ago
  • Add support for vertex colors (from @rdb)