Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU
This release adds support for Python 3.12 and furthermore contains significant bug fixes, and also implements some missing features in the shader generator. Builds are available on the download page.
<Collide>
used with <Line>
(#1515)-fno-rtti
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.
gl-version 3 2
or higher is set (#1404)keep_docstrings
option to switch to optimize level 1 (#1341)prefer_discrete_gpu
option to force dedicated GPU on Windows (#680)bam_model_extensions
for converting non-egg models to .bam (#714)setuptools>=61.0.0
(#1394)manylinux2014_x86_64
on Python 3.11+pstats-python-profiler
Config.prc varpstats-max-queue-size
from 1 to 4assimp-collapse-dummy-root-node
option to remove root node (see #366)pview.desktop
file on Linux--arch
flagMotionTrail.add_vertex()
method now directly accepts a vertex position#pragma include <file.glsl>
in GLSL shadersShaderBuffer.prepare()
not doing anythingNotify.set_ostream_ptr()
from Python (#1371)mat.cols[n]
and mat.rows[n]
assignableExecutionEnvironment.args
being empty on LinuxPandaNode.nested_vertices
not updating properlydo_events()
and process_event()
snake_case aliases in eventMgrreplace_texture()
/ replace_material()
os.fspath()
for ConfigVariableFilename objects (#1406)direct.showutil.Effects.createBounce()
(#1383)This is a maintenance release containing primarily bug fixes. As such, it is not expected to contain regressions or backward-incompatible changes, and it is a recommended upgrade for all users who are on lower versions. Head to the download page to get the latest binaries, or upgrade using pip install -U panda3d
for installations that were done using pip.
cocoa-invert-wheel-x true
to revertshadow-cube-map-filter
setting to enable cube map shadow filtering (#1332)egl-device-index
config var to select EGL device (#1306)sys.flags.optimize
is now set to 2 in Python 3.2 and aboveTexture::get_ram_image_as()
fixed for 3D textures (#1277)This is another maintenance release containing bug fixes and minor improvements. A full list of changes is included below.
Since the new release is not expected to contain regressions or backward-incompatible changes, it is a recommended upgrade for all users on lower releases. Head to the download page to get the latest binaries, or upgrade using pip install -U panda3d
.
TexturePool.get_texture()
method for querying textures in pooltex.write()
with unknown extensionraw-<
) for key between shift and Z on ISO keyboardslinux_x86_64
/ linux_i686
also allows use of manylinux wheelsmanylinux_2_24
taskMgr.step()
now restores previous SIGINT handler afterwards (#1180)base.clock
as alias for globalClockprepare_scene()
not properly invoking the Shader Generatorbullet-split-impulse
configuration variable (#1201)manager
, t
, play_rate
, duration
properties of Sequence/Parallel (#1202)This is a maintenance release, containing mostly minor bug fixes. Upgrading is recommended. Please head to the download page for the binary builds, or upgrade using pip install -U panda3d
.
This release also provides support for the upcoming Python 3.10 version. This support is still somewhat experimental, so please let us know if you encounter any issues.
The full release notes are as follows:
round()
, ceil()
and floor()
with vector typesRenderState::get_unused_states()
RenderState::get_num_unused_states()
upcall()
Geom::make_lines_in_place()
(& points
, patches
) leaving invalid statePSSMCameraRig::update()
now accepts a camera node directlygl-depth-zero-to-one
is now supported in OpenGL ES 2+ (if driver supports)This is a bugfix release which addresses some severe issues on macOS, a graphical issue on Windows with AMD RDNA cards, as well as a broad range of issues on other platforms, and adds some minor features.
Read the announcement on our blog, or go straight to the download page for the binary builds.
Shaders
Windowing
Rendering
Texturing
Texture::set_ram_image_as()
for 3D and multiview textures (#1095)GUI / Text
Python API
direct.stdpy.pickle
pickle, esp. for Python 3direct.stdpy.pickle
sometimes duplicating Panda objectsawait
all interval objects inside a coroutine (#909)base.win.properties.size
et al.delay=
argument to taskMgr.add()
Physics / Collisions
Deployment
Build / C++
__truediv__
and __floordiv__
special methodsMiscellaneous
vorbis-seek-lap
, which caused popping in ogg sounds (#1108)Recommended maintenance release.
Read the announcement on our blog, or go straight to the download page for the binary builds.
GraphicsPipe::get_display_zoom()
for querying system DPI scalingTextureStage::M_emission
modep3d_TextureNormal
, p3d_TextureEmission
, etc. GLSL inputsThis is primarily a bugfix release, but includes a few new features as well.
Read the announcement on our blog, or go straight to the download page for the binary builds.
MultiplexStreamBuf::Output::write_string()
(#902)This is a recommended bugfix release that adds additional stability fixes.
Read the announcement on our blog, or go straight to the download page for the binary builds.
//Cg profile
no longer affects subsequent shader loads (#863)p3d_TextureMatrix[]
input giving GL error on macOS (#846)get_keyboard_map()
on X11get_keyboard_map()
on X11model-cache-dir
cannot be created (#790)bam-version 6 45
in PRC)--cggl-incdir
and --cggl-libdir
options in makepandaThis is a recommended bugfix release, especially for macOS users.
Read the announcement on our blog, or go straight to the download page for the binary builds.
--python-incdir
and -libdir to makepanda on macOSls()
and bam-info -ls
now list included animationspandac/input/*.in
interrogatedb files are now included in .whl builds