Panda3D 1.6.0 released

Good day everyone.

Finally, the much delayed and long promised 1.6.0 release has arrived. This is an experimental release, and since there are very likely to be bugs, it’s not recommended for production use.
Anyways, here are the new features (plus bugfixes):

  • Lightweight threading framework without runtime overhead
  • Makepanda now fully supports OSX
  • DDS textures are now supported
  • COLLADA->egg converter added
  • New C+±based Task system, which includes async threading support
  • Support for asynchronous on-demand loading of textures and/or animations
  • New software-based renderer “tinydisplay”
  • More pythonic features: iterable methods, implicit parameter casting
  • Packpanda now also supports Linux
  • Added libsquish support for DXT compression
  • New MeshDrawer class for realtime mesh manipulation
  • Infamous FBO bug fixed
  • Preliminary support for Volumetric Lighting
  • Shader k-parameters can now contain underscores
  • Fixed OpenCVTexture and ARToolKit on Linux
  • GeoMipTerrain now supports multi-channel heightmaps
  • GeoMipTerrain features new near/far LOD system
  • GeoMipTerrain performance improved
  • CallbackNode added to support low-level drawing callbacks from Python
  • Fixed some minor but annoying OpenAL/FFMpeg issues
  • Fixed bug with lcontrol and rcontrol on Linux
  • Fixed bug regarding icon filenames
  • Multisampling fixed on Linux and OSX
  • Left and right scrolling events now available
  • Several improvements to API reference
  • ShaderGenerator now supports several more blend modes and color scale
  • .x converter now supports AnimTicksPerSecond
  • vfs-mount-url can load models directly off the web
  • Smoother transitions in FadeLodNode
  • Dynamically-generated outline on fonts: loader.loadFont(outlineWidth = xxx)
  • Texture.getRamImageAs()
  • base.toggleTexMem()
  • Text generation performance optimization
  • Various performance optimizations
  • Several more minor bugs fixed

Plus some other things I forgot to write down.
If you visit the download page, you can see that Mac OSX binaries have been added, too. Plus, a CHM version of the manual.

Have fun, and let’s hear those bugs. :slight_smile:


PS. This is not an April Fool’s Joke. :slight_smile:

already compiling 8)

thanks pro-rsoft for all the hard work building the releases!

And thanks to you for making the Windows releases :slight_smile:

great work! THX downloading
[EDIT] first bug found:
when trying to run the firefly demo under linux,ubuntnu 8.04 32bit, gf8600gt 173.14.12 driver (i know its not up2date)
starting the firefly demo takes a loong time. after that i get corrupted grafical output and the following console output.

:display:gsg:glgsg(error): at 3541 of panda/src/glstuff/glGraphicsStateGuardian_src.cxx : GL error 1282

it runs fine except for broken visuals. at first you only see a few bright pixels. if you increase the size of the fireflies you can see something like that:

LOL so plenty of jokes today - you had to made it clear

tomorrow I’ll feed my 64 machine with it for a serious compilation+test of the newborn panda and report back

Excellent work, pro-rsoft and treeform!


BRAVO, gentlemen ! :smiley:

wow, very extensive list of additions, what a nice thing to see right as I’m starting to use Panda. There are two items on that list that are particularly interesting sounding to me, could you maybe elaborate a bit on them?

I don’t know if discussing how features work should go in a new thread.

wasn’t there some thing about using MF files to store python files and importing them?

ThomasEgi, I can confirm the Fireflies bug here. I’ll put it on my todo-list.

Read here:
If you specify a callback argument to loadModel or whatever, it will be loaded asynchronously and the callback will be called whenever it’s finished loading. There are also functions like asyncFlattenStrong which work asynchronously, in a different thread.

The MeshDrawer is a class that’s part of treeform’s Pyro library. (which is in the forums).

Media Player sample crashes:

:util(error): Unable to open /etc/Confauto.prc
:util(error): Unable to open /etc/Config.prc
Known pipe types:
(all display modules loaded.)
:gobj(error): Texture::read() - couldn't read: /c/Panda3D-1.6.0/samples/Media-Player/PandaSneezes.avi
:gobj(error): Texture "/c/Panda3D-1.6.0/samples/Media-Player/PandaSneezes.avi" exists but cannot be read.
DirectStart: Starting the game.
Traceback (most recent call last):
  File "C:\Panda3D-1.6.0\samples\Media-Player\", line 81, in <module>
    w = World()
  File "C:\Panda3D-1.6.0\samples\Media-Player\", line 26, in __init__
    self.tex = loader.loadTexture(MEDIAFILE)
  File "C:\Panda3D-1.6.0\direct\showbase\", line 519, in loadTexture
    raise IOError, message
IOError: Could not load texture: PandaSneezes.avi

WinXP sp3, ATI X1600 (driver 9.3)

birukoff, I’ve just confirmed this error. pro-rsoft knows about it so we’ll see what happens :wink:

I also couldn’t open the avi in windows media player (i know that 1.5.4 panda’s avi worked, I tried it).

for th record (it may be relevant :S), I’m on Dell Optiplex WinXP Professional 32 bit SP3, 1G ram, nVidia 7600 GT, 2.4Ghz Intel.

Ah. On Linux, loader.loadTexture didn’t return a MovieTexture, but an FfmpegTexture, so I was unaffected. I’ve changed it to use

About the actual problem: drwr, you have made some changes to the way (do_)read was overloaded, right? Did you maybe forget to change the grutil/movieTexture.* files?

Sweet. Will the Manual be updated to reflect/describe all these changes?

semi-ot: There was some discussion of implementing a new easier to use Shadow system in 1.6.1, is this still in the works?

Some manual pages have been updated, not all.

The shadow system you’re referring to is most likely going to be part of 1.7.

Ups… Why so long? :frowning: It already looks nice… We are waiting for it sooo much!

Well… it does involve some major changes to Panda, while subreleases should usually be minor changes and bugfixes only. But I guess I could make an exception, if I get it done soon enough.

Woohoo! Congratulations everyone, and thank you very much for all the work put in! :slight_smile:

I do have a question:

You mention “Smoother transitions in FadeLodNode” - does that include the handling of normal mapping (which I think that I recall was in place in CVS when last I heard), and either way, what, if anything, else does that include?


*downloading now

I noticed the new changes in the manual :exclamation: Finally…
Will do some benchmarks someday :slight_smile: