Panda3D 1.3.0 coming very soon.

I’m in the process of trying to compile panda on all the various operating systems (windows, fedora, ubuntu, etc). I’ve gotten a successful compile under one of the linux versions, which means the rest of the linux versions aren’t far behind. So we’re really close.

As a little teaser, here’s the release notes for 1.3.0:

This release contains several new features, and as such, it might be
buggy. However, we’ve been testing it internally for a couple weeks,
and it seems to be okay. It contains the following new features:

  • Stencil buffers and stencil operations now supported.
  • Sound API now supports DSP and better support for large MP3s.
  • Video uses FFMPEG instead of DirectShow - no more codec issues.
  • Heightfield terrain.
  • Support for intra-frame animation interpolation.
  • Use of ‘import *’ now only imports correct symbols.
  • Various minor improvements to the particle system.
  • Scene editor at least partially operational (alpha level)
  • Removed most of the 65,536 vertex-per-mesh limits.
  • Various low-level optimizations.
  • Support for threaded model loads (only in CVS, not in distro).
  • Support for ‘model-cache-dir’, which caches a BAM each time you load an EGG.
  • OnscreenText/DirectLabel can contain embedded 3D models inside the text.


Thanks for the update and the work!

Panda3D keeps getting better and better. I’m looking forward to messing with the heightfield terrain :slight_smile:


stencil buffer?.. sounds like stencil buffer shadows in my ears =)
terrain, even better sound, better video and even models in text-elements…
quite a release i would say,lots of great new features waiting to be used.
keep up the work and a biiiig thx for all the stuff you’ve done up until now!

thomas e

Well, I’m having a few technical problems, so maybe not 24 hours. Maybe 48.

those are some very interestng features…im Very anxious about stencil buffers , heightfield terrain ( WOOT ) and intra frame interpolation sounds like support for morph anims :wink: …glad you got more success with the great scene editor too

cheers and thx for all the hard work with panda3D! :wink:


There is time when the day is bad, really bad…
Your wife is away. Your computer is crashed. Your car is making scary noise when you turn right…;

And suddenly the light come !!!

hmmm… thats called “train” when your car died right on the train cross road… :stuck_out_tongue:

Anyway… nice! Its supposed to be a beta-version (again - like 1.1 was), right?

Regards, Bigfoot29

Inter-frame interpolation isn’t the same thing as morphs. Panda has had morphs for a long time. Inter-frame interpolation is something different.

Let’s say I export an animation at 1 fps (yes, that’s unreasonably slow). The old behavior is that your character would “click” to the next position once every second. The new behavior is that he will slowly interpolate from his previous position to the new position over the course of one second. BTW, this is optional, controlled by a config variable.

As for whether this is beta? Yes, it’s kinda beta, all releases with a zero minor version number are beta-ish. It’s been a long time since the last release, there’s a lot of new untested code, so there’s inherently more risk.

That said, we’ve been using this version at the ETC for several weeks, with no major disasters. So we should be on pretty solid ground.

I should also mention - we didn’t implement stencil shadows. We support the stencil buffer. Big difference.

The stencil buffer is a piece of hardware that (to simplify a little) counts the number of times you write to each pixel.

Stencil shadows are a shadow algorithm. Stencil shadows do use the stencil buffer in the process of generating shadows.

knew about it… but it sounds like it’s now possible to implement stencil shadows (since you can make usage of this buffer now ther might be people who might wanna use it).

ahm i got another question about the interpolation stuff.
interpolation between non-bone animation is pretty clear but what happens with boned ones?( speaking of a rotating bone, lets say 90degree per frame…) will the result be a circle-movement or a square-like movement of the vertices?

It is the same algorithm that blends between multiple animations playing at once. You can select one of several choices for the blend algorithm, including linear (which is squarish) and componentwise (which rotates).


we can even choose?! whow … i never even imagined the possibility^^
this release starts to get better than christmas,birthday and new-year together =)
… i dont even dare to imagine the features of version 1.4.0 … perhaps it already has the “best-game-ever” funktion :laughing:

Still working on this. Have successful compilation on all major distros but one. Have not tested the resulting executables yet.

Just hit one more snag. Maybe later today.

Well, ready or not, it’s out!

Could somebody let me know whether or not the new sound code works under Linux? My sound card is busted.

wow! We have a debian installer! You will get a report/Info about sound card ability this evening :smiley:

Regards, Bigfoot29

mkay, on Ubuntu Dapper Drake (6.06 TLS) I get the following output with the Feature-Tutorials–Sound - example:

DirectStart: Starting the game.
Warning: DirectNotify: category 'Interval' already exists
Known pipe types:
(all display modules loaded.)
:audio(error): FMOD Error: Error initializing output device.
:util(warning): Adjusting global clock's real time by 0.719298 seconds.
:util(warning): Adjusting global clock's real time by -0.654953 seconds,

All I hear is the opening/closing of the box. - Sounds like he isn’t able to open the second FMOD-“Channel” - similar to the problem the guys are having with the OSX-port…

Debian “Sarge”: You need to install Python2.4 first

apt-get install python2.4

then you need to re-link the python executable

cd /usr/bin/
rm python
ln -s python2.4 python

When that is done, I can proceed untill the following error message:

Dunno if thats related to not-having a real graphics card in that virtual machine, but ssh -X does die with the error message mentioned above. So ATM I can’t tell you whats the problem. The window shows up for a few mili-seconds and then collapses with the message shown…

Can anyone confirm that?

Regards, Bigfoot29

As to the “second channel” problem on OSX: It turned out that each instance of the FmodAudioManager class was initializing a new FMOD::System object in the constructor, and releasing it in the destructor. The FMOD docs don’t really say whether an FMOD::System is intended to be a singleton, that exists only once for an application, or whether it is legal (and intended) to have multiple instances of this thing. I get the feeling that it is intended to be a singleton, but it just so happens that multiple instances will work on the Windows port.

In any case, multiple instances of FMOD::System certainly do not work on the OSX port, and it may be that it doesn’t work on some of the Linux OS’s too.

I have already checked in fixes to the CVS trunk so that all the FModAudioManagers will share a common FMOD::System object. This solves the multiple AudioManager problem on OSX, and it may also solve this same problem on Drake. This has the side-effect of making certain parameters, like the 3D sound drop-off factor, global instead of specific to each audio manager, but that may be a requirement of FMOD anyway.


It looks like any OS that doesn’t do a software or hardware mix of multiple soundcard connections have the same issue. I guess people using a soundcard providing more than just /dev/dsp0 (eg. additional /dev/dsp1) are able to run Panda3D the way it is now. I can’t check that because I don’t have such a soundcard. The fact that its working using Windows supports that idea… it does software mixing/merging of all audio sources. One audio application doesn’t block the sound card there…

As for the Debian “Sarge” problem: Anyone with a successfull installation?

Regards, Bigfoot29

Who’s idea was it to use FMOD anyway?