Panda3d

Latest version: v1.10.15

Safety actively analyzes 714973 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

1.10.3

This is another bugfix release that addresses a variety of issues in 1.10.2 and further improves the stability.

To download binary builds, please visit the [download page](https://www.panda3d.org/download/sdk-1-10-3/).

* Fix crash when unplugging certain devices on macOS
* Fix crash on macOS when using RIME input
* Fix logging issues/crashes in apps deployed with Python 2.7
* Fix issues when starting in fullscreen on Linux/X11
* Fix mapping of several gamepads including Trust GXT 24
* Fix Linux crash when no input devices are present
* Unbreak support for matrix arrays in vertex data in OpenGL
* Allow creating multisample FBO in OpenGL with non-MS host window
* Support playing and looping compressed Ogg and WAV audio files
* Fix generation of CollisionBox for transformed geometry in .egg
* Fix Bullet rigid body transform not updating after reparenting
* Fix sporadic color scales with lighting and custom GLSL shader
* Prevent faulty shaders from shutting down GSG on some drivers
* Allow None as either argument to OdeJoint.attach()
* Fix BufferViewer when main window is not opened right away
* Properly detect extension of pz/gz compressed video/audio files
* Fix for invalid behavior of SparseArray methods to clear bits
* FilterManager now allows overriding framebuffer properties
* Fix detection of core-only OpenGL profile on some drivers
* Add gl-forward-compatible config var for OpenGL context creation
* Add paste-emit-keystrokes variable to disable Ctrl+V on Windows
* Fix in-place `|=` operator on Panda types (such as SparseArray)
* Fix rare FFmpeg "bad src image pointers" errors after seek
* Fix uses of types.InstanceType in some obscure direct functions
* Fix capsule-into-sphere collision test in degenerate case
* KeyboardButton.ascii_key now also accepts a str character
* Fix errors in various Tkinter DIRECT widgets
* Expose save_egg_file/save_egg_data functions in Python API
* Fix assertion error in BoundingBox.set_min_max
* Fix typo in CollisionTraverser.respect_prev_transform property
* Properly install Python bindings when building FreeBSD installer

1.10.2

This release fixes several more bugs, including a few regressions
in 1.10.1. Upgrading is highly recommended.

* Fix regression on Windows causing freezes and instability
* Fix a memory leak issue in Python applications
* Fix crash reading unaligned float4 column in GeomVertexReader
* Fixes for switching to fullscreen at runtime on Windows and Linux
* Fix incorrect display mode listing in some Linux distributions
* Fix threading crash on Linux when using `get_keyboard_map()`
* Support `from __future__ import division` for Panda types
* Support building with Visual Studio 2019 in makepanda
* Work around Assimp crash when loading multiple .ply models
* On Windows, a Python 3-compatible version of Pmw is included
* Fix ParticlePanel spam when hovering over File menu items
* TexMemWatcher has been fixed for Python 3
* Prevent macOS window getting stuck after `base.destroy()`
* Fix assertion setting mass before shape with Bullet debug build
* Don't error if DirectScrolledFrame is destroyed twice
* Fix reference count corruption accessing `task.__dict__`
* Fix writing to SequenceNode frame_rate property
* Fix collider sort not copied when copying CollisionNode
* Add OpenCollective backer file

1.10.1

This is a bugfix release with several critical bugfixes for 1.10.0. There are no known breaking changes from 1.10.0. It is recommended to upgrade as soon as possible.

* Fix crashes when gamepad is plugged in on 32-bit Windows
* Fix deploy-ng error regarding 'exist_ok' on Python 2
* Fix Linux install from pip not working with some mesa drivers
* Fix compatibility issues with upcoming Python 3.8
* Fix regression with Audio3DManager.setSoundVelocityAuto()
* Fix issues when awaiting loader.loadModel in Python 3.7
* Audio3DManager accepts tuple in setSoundVelocity/setListenerVelocity
* Fix lighting being disabled when only an AmbientLight is active
* Fix an error saving from Particle Panel in Python 3
* Depth buffer now defaults to 24-bit on macOS (fixes flickering)
* Fix no devices being detected on Windows with threading-model
* Implement collision tests from Capsule and Box into InvSphere
* Fix odd behavior and occasional crash in QuatInterval
* Fix SpriteAnim error in particle system
* Fix ShaderGenerator error when using too many shadowing lights
* Fix interrogate crash in Python 3 with optional wstring args
* Fix compilation errors for x86 Android platform
* Fix permissions of directories created by installpanda
* Improvements to API reference documentation
* Fix incorrect features printed out when printing an InputDevice
* Support cross-compiling for Android platforms in makepanda
* Work around various bugs when compiling with OS X 10.7's libc++
* Fix wrong error sometimes being reported when loading plug-in
* Allow getting NodePath from CullTraverserData object
* Add config options to Assimp loader for generating normals
* Fix multisampling in floating-point framebuffers on OpenGL
* Parse egg files with 4-component tangents (must be 1 or -1)
* StencilAttrib.make() write_mask argument is now optional

1.10.0

This is a major release with significant changes. Please review the
changes when upgrading. The list below is by no means exhaustive, but
should contain the most important changes.

General
* Experimental ability to build for Android
* New input framework to natively support gamepads, joysticks, etc.
* Multi-threaded render pipeline is a lot more stable now
* New setuptools-based deployment pipeline
* Improvements to mouselook smoothness
* Cache is now at `$XDG_CACHE_HOME/panda3d` (`~/.cache/panda3d`), not `~/.panda3d`
* Addition of unit test suite
* Many improvements to thread safety
* Many performance improvements
* Tons of bugfixes
* Big style cleanup of C++ source code

Python API
* Complete support for Python 3
* Support for coroutines and async/await
* Property interfaces have been added for many settings
* More flexible handling for keyboard arguments in C++ APIs
* Python bindings are completely separated out of the C++ libraries.
* Interrogate binding generator has many improvements.
* Use of pandac.PandaModules is discouraged, use panda3d.core et al
* Use of libRocket is discouraged due to lack of Python 3 support
* Tasks are now sorted in addition order when lacking a sort value
* Fixes iris/fade transitions for extreme aspect ratios
* WeakNodePath is now exposed to Python
* `WindowProperties.size(x, y)` deprecated; use `WindowProperties(size=(x, y))`
* Calling bare `run()` is deprecated, use base.run() instead
* `downcastTo*()` methods have been removed, they were already no-ops

Rendering
* Add new shader-based terrain rendering method (ShaderTerrainMesh)
* The default ColorAttrib mode is now `T_vertex`
* The ColorAttrib `T_off` mode now properly disables vertex colors entirely
* Make handling of color attributes more consistent between renderers
* Ability to create an OpenGL core profile context; set `gl-version 3 2`
* Experimental support for reverse-Z rendering for best depth precision
* sRGB framebuffers supported more widely
* Support for infinite near/far clip in lens
* Add some PBR material parameters to material class
* Addition of more built-in GLSL shader inputs; see manual.
* Add `p3d_FragData[]` GLSL output for MRT in GLSL 1.30
* Add flag enabling vertex shader control over point size
* Support signed ints and double-precision floats in vertex data with GLSL
* Support unsigned 11/10/10-bit floating-point textures and vertex data
* Support for SSBOs via ShaderBuffer class
* Support OpenGL FBO buffers without any attachments
* Support passing uint variables to GLSL shader
* Allow rendering objects with empty vertex data (for vertex pulling)
* Add LogicOpAttrib, for supporting logical operator blending
* Improvements to OpenGL ES support
* Support for geometry with adjacency information
* Change default alpha blending to improve blending rendered result
* New method for obtaining native OpenGL texture object
* Support windowless offscreen rendering on macOS
* Panda resets OpenGL state better before and after draw callbacks
* OpenGL renderer better supports debugging tools like apitrace
* Support fixed-depth billboards, useful for 2D tags that don't change size

Shader generator
* Significant performance improvements
* Support for point light shadows
* Hardware skinning support
* Changes to match fixed-function pipeline better
* Fixes for normal vector normalization
* Support multiple normal maps (uses Reoriented Normal Mapping)
* Tracks modifications to materials and texture stages automatically

Lighting
* Allow specifying light color based on color temperature
* Setting specular color of a light separately is deprecated
* New GLSL inputs to make implementing lighting in shaders much easier
* Add representation for sphere light and rectangle light
* Efficiency improvements for passing light information to shader
* Interocular distance for shadow cameras now always defaults to 0
* Add low-level lighting module from RenderPipeline

Textures
* Support cube map arrays
* Support buffer textures
* Many more texture formats supported
* BC4 and BC5 compression modes supported
* Proper depth textures supported in DirectX 9 renderer
* `set_ram_image(_as)` directly supports buffer protocol
* TexturePeeker supports more formats and component types

Text
* Dramatic improvements to text rendering performance
* Support for HarfBuzz for higher-quality text shaping and kerning
* Support for right-to-left text
* Support for signed-distance-field rendering in egg-mkfont

Audio / video
* The default unit for audio is now 1 meter for each Panda unit.
* Native .flac loader
* Support videos with alpha channel in ffmpeg
* OpenAL stability improvements, especially on macOS
* Support loading .opus files with libopusfile
* Fix various memory leaks

Physics / collisions
* CollisionTube is renamed to CollisionCapsule.
* Box-box collision test is improved to work well with the Pusher
* More box tests for collision system: box-into-plane, box-into-poly
* Capsule (tube) can be used as "from" shape into plane, sphere, capsule, box
* Bullet objects are serializable to .bam files.
* Bullet bindings are now thread safe.
* Bullet debug drawer is more efficient; no longer inherits GeomNode.
* Various fixes to bullet vehicle wheel synchronization
* PhysX bindings are deprecated.

Pipeline / loading
* Support for Assimp library to load a broad variety of model formats
* Ability to specify min-lod, max-lod, lod-bias in .egg file
* Egg file materials support PBR-style material parameterization
* Support loading more DDS files, including DX10-style ones
* Add support for OpenEXR and HDR textures
* Support line/point thickness in bam2egg
* bam2egg no longer inserts a vestigial ModelNode at the top
* bam2egg supports depth test, offset, cull bin attributes
* Accept a .gz file wherever a .pz file is accepted
* egg-palettize supports mirror and border-color wrap modes
* More robust checks against memory corruptions when loading bad .bam files
* Support for Maya 2017 and 2018
* Support preprocessing GLSL shaders created with Shader.make

Build
* We now require using MSVC 2015 or 2017 to compile on Windows.
* At least GCC 4.8 is now required.
* With GCC/clang, enabling C++11 is now required.
* Allow building with more recent ffmpeg versions
* Support for old FFMpeg versions (before 1.1) dropped.
* The ppremake build system has been removed.
* Support for OpenSSL versions before 0.9.7 has been dropped.

C++
* Use of `NULL` is replaced with `nullptr`
* WeakPointerTo now requires use of `lock()` method for thread safety
* Mutex et al now satisfy C++11 Lockable constraints
* Panda headers no longer contain `using namespace std;`
* `PN_int32` et al have been removed, use `stdint.h` types instead
* The need to link with pystub and add Python include dirs is removed.

1.9.4

One of the bugfixes in the last 1.9.3 release introduced a regression,
therefore it was decided to make another 1.9.x release.

- Fix 1.9.3 regression with generating geometry in threaded pipeline
- Various compile warning fixes
- Fix occasional crash in PNMImage::quick_filter_from()
- Fix issue taking screenshots from an OpenGL FBO buffer
- Fix various issues with MeshDrawer
- Fix issue with collision sphere generation in bam2egg
- Fix compile errors with more obscure Python configurations
- Fix assert when using Texture.load_sub_image to load whole image
- Fix fsm FourState

1.9.3

This issue fixes several bugs that were still found in 1.9.2.
- Fix crash when using homebrew Python on Mac OS X
- Fix crash when running in Steam on Linux when using OpenAL
- Fix crash using wx/tkinter on Mac as long as want-wx/tk is set
- Fix loading models from 'models' package with models/ prefix
- Fix random crashes in task system
- Fix various race conditions causing threading issues
- Fix memory leaks in BulletTriangleMesh
- Fix loading old models with MovingPart<LMatrix4f>
- Improve performance of CPU vertex animation somewhat
- Show framebuffer properties when fbprop request fails
- Show error instead of crash on use of object before **init**
- Fix hang on exit when using Python task on threaded task chain
- Fix inability to get RGBA renderbuffer in certain cases
- Work around GLSL issue with pragma and certain Intel drivers
- Improve performance of texture load and store operations
- Fix crashes with pbuffers on Intel cards on Windows
- Support for Autodesk Maya 2016.5
- Add shadow-depth-bits config var to control shadow map depth
- Fix cull issue when rendering cube map (or any multi-lens setup)
- Fix crash rendering with the same camera to different contexts
- Fix compile error when making static build with DX9 renderer
- Fix assertion when using aux render targets in DX9
- Work around Cg bug generating invalid ASM for saturated tex loads
- Fix issues with certain Cg shader inputs in DX9
- Support uint8 index buffers in DX9
- Fix occasional frame lag when loading a big model asynchronously
- Fix interrogate parsing issue with "const static"
- Add back missing libp3pystub.a to Mac OS X SDK
- Fix RAM caching of 2D texture arrays
- Fix Ctrl+C interrupt propagation to runtime applications
- Support for InvSphere, Box and Tube solids in bam2egg
- Preserve "intangible" and "level" collide flags in bam2egg
- Add normalized() method to vectors
- asyncFlattenStrong with inPlace=True caused node to disappear
- Fix asyncFlattenStrong called on nodes without parent
- Fix is_playing() check when playing an animation backwards
- Windows installer no longer clears %PATH% if longer than 1024 chars
- Fix inoperative -tbn/-tbnall/-tbnauto options in egg-optchar
- Fix tinydisplay texture errors on shutdown
- Fix mipmap filtering issues in tinydisplay renderer
- Fix exception when creating intervals before ShowBase is started
- Fix rare X11 .ico cursor bug; also now supports PNG-compressed icons
- Add keyword argument support to make() methods such as Shader.make()
- Fix compilation errors with Bullet 2.84
- Fix exception when trying to pickle NodePathCollection objects
- Fix error when trying to raise vectors to a power
- GLSL: fix error when legacy matrix generator inputs are mat3
- Now tries to preserve refresh rate when switching fullscreen on Windows
- Fix back-to-front sorting when gl-coordinate-system is changed
- Now also compiles on older Linux distros (eg. CentOS 5 / manylinux1)
- get_keyboard_map now includes keys on layouts with special characters
- Fix crash due to incorrect alignment when compiling Eigen with AVX
- Fix crash when writing 16-bit .tif file (now silently downsamples)

Page 3 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.