pypi Panda3D 1.10.13
SDK 1.10.13

latest releases: 1.10.14, 1.10.13.post1
17 months ago

This is a significant release containing many important bug fixes and a couple of interesting new features. I highly recommend reading the release announcement on the blog for an overview of the changes. Binary builds are available on the download page, or you can of course simply upgrade using pip install -U panda3d if you have installed Panda3D with pip.

Rendering

  • Fix single texture stage limit when gl-version 3 2 or higher is set (#1404)
  • Fix some render-to-texture bugs with multithreaded pipeline (incl. #1364)
  • Fix failure to unset divisor after rendering with hardware instancing
  • Add "MSAA" filter to CommonFilters class as convenience to enable MSAA
  • Fix multisample FBOs with MRT resolving aux target into color target
  • Fix shader generator not responding to fog color changes
  • Fix OpenGL error when downloading GL_LUMINANCE8 texture

Windowing

  • Fix incorrect "without" event generation when mouse leaves window (#1400)
  • Windows: Fix lost "up" events when dragging cursor outside window while multiple mouse buttons are pressed down (#1396)
  • macOS: Fix crash with threading-model on newer macOS versions (#1286)
  • macOS: Fix black screen when going fullscreen on Apple M1-based macs (#1316)
  • macOS: Fix window overlapping Dock when requesting very large height
  • macOS: Improve application termination handling, now sends proper exit events
  • X11: tinydisplay handles window resizes more efficiently
  • X11: Work around window not rendering at first on swaywm (#1087)

Deployment

  • Not all code was being built with optimize level 2
  • Add keep_docstrings option to switch to optimize level 1 (#1341)
  • Add prefer_discrete_gpu option to force dedicated GPU on Windows (#680)
  • Add bam_model_extensions for converting non-egg models to .bam (#714)
  • Work around autodiscovery error when using setuptools>=61.0.0 (#1394)
  • Default Linux target to manylinux2014_x86_64 on Python 3.11+

PStats

  • Add support for Python profiling with pstats-python-profiler Config.prc var
  • Fix PStats crash at launch from pip installs in newer Linux distros (#1391)
  • Performance improvements to time-based strip chart views
  • Time-based strip charts now can show start/stop count in corner of graphs
  • Optimize client performance when sending a large number of samples
  • Fix dropped frames by changing value for pstats-max-queue-size from 1 to 4
  • Server accept clients using PStats protocol version 2.3

Assimp

  • Fix assertion when loading meshes with multiple primitive types
  • Add assimp-collapse-dummy-root-node option to remove root node (see #366)
  • Import custom object properties as tags
  • Add support for additional texture maps, including PBR textures
  • Support reading tangent and binormal vectors
  • Improve performance when loading geometry
  • Fix problems reading external files (see #366)
  • Support reading alpha mode when loading .glTF models
  • Add support for texture transforms
  • Add support for texture wrapping modes
  • Fix memory corruption bugs

Build

  • Fixes to pview.desktop file on Linux
  • makepanda: Fix problems when building on arm64 on macOS without --arch flag
  • makepanda: Fix detection issues with newer macOS / XCode versions
  • makepanda: Fix motiontrail header files not being copied
  • Windows: Fix HTTPClient not working when nativenet module is disabled
  • macOS: Fix OpenCV library refusing to load in arm64 build (#1393)
  • Fix compiler error when compiling for e2k (MCST Elbrus 2000) (#1367)

Miscellaneous

  • Add new motion trails sample program
  • MotionTrail.add_vertex() method now directly accepts a vertex position
  • Significant performance optimization of C++-based motion trail implementation
  • Fix race condition when destructing/constructing NodePaths in thread (#1366)
  • Add implementation of capsule-into-polygon collision test (#1369)
  • Fix texture transforms sometimes not being flattened (#1392)
  • Fix support for #pragma include <file.glsl> in GLSL shaders
  • Fix ShaderBuffer.prepare() not doing anything
  • Implement deepcopy for PointerToArray
  • Fix Texture deepcopy keeping a reference to the original RAM image
  • Fix bf-cbc encryption no longer working when building with OpenSSL 3.0
  • PandaNode bounds_type property was erroneously marked read-only
  • Fix warnings when copying OdeTriMeshGeom objects
  • Fix a crash when using Notify.set_ostream_ptr() from Python (#1371)
  • Fix GarbageReport not working with Python 3 (#1304)
  • Make mat.cols[n] and mat.rows[n] assignable
  • Fix ExecutionEnvironment.args being empty on Linux
  • Add various useful functions to interrogatedb module
  • Fix Python 3 issues unpacking uint types in Python 3 (#1380)
  • Fix interrogate syntax error with C++11-style attributes in declarators
  • Fix double-precision color values not being clamped by GeomVertexWriter
  • Fix regression with BufferViewer in double-precision build (#1365)
  • Fix PandaNode.nested_vertices not updating properly
  • Prevent Panda calculating bounding volume of Geom with custom bounding volume
  • Add do_events() and process_event() snake_case aliases in eventMgr
  • Support second arg of None in replace_texture() / replace_material()
  • Support os.fspath() for ConfigVariableFilename objects (#1406)
  • rplight: Fix PSSM calculation failing with infinite far distance (#1397)
  • Remove spurious print in direct.showutil.Effects.createBounce() (#1383)
  • Fix assorted compiler warnings

Don't miss a new Panda3D release

NewReleases is sending notifications on new releases.