Licensing Limitations

OK guys I have read the license over and over again and I have completely failed to find any verbage that limits me from using Panda3D to create projects for profit. I am interested in using P3D for creating some kiosks for a local endeavour and if I do I will be making money on the deal. Am I missing something here or is this kosher?

Thanks …

There are 2 things that I know of that you have to worry about:

  1. FMOD (the sound system) is 3rd party… so you would have to pay for a license unless you implemented OpenAL or something similar (I think I read a post by a developer that it isn’t too tough).
  2. You have to submit any changes to the source code to the panda team.

Some people have used pygame to do audio, to avoid the licensing issues with FMod.

There’s actually not a requirement to submit any source code changes to us. The license is only intended to encourage this, not require it. But in any case, it’s referring to changes to Panda itself, not to any application you write which uses Panda.

There are no restrictions on making and distributing a for-profit application that uses Panda.


Man that’s awesome. I knew I loved this engine and now I have even more reason to love it. If you guys ever need any extra help I’ll contribute if possible. 17 years cross-platform C++ experience here …

people will love you for adding openal instead of fmod =)

If that’s all I have to worry about then I would be willing to invest some time into the OpenAL change. How difficult is it to get a build running with Win32 / VC6? I am most familiar with VC6 … I have VC8 (.Net 2003) but haven’t migrated to it yet.

dunno. but i’d volunteer for doing testbuild on my fedora6 machine =)
uaaayy we’r getting openal. uaay uaay happy

Help me find someone that has succeeded in getting a Win32/VC6 build going (and is willing to help me do the same) then I’ll give it a shot. I am very familiar with FMOD as I used it in my own engine a ways back. I am not all that familiar with OpenAL but I have wanted to migrate from FMOD to OpenAL for years for obvious reasons. BTW I quit working on my own 3D viz engine when I found Panda :wink:

hm… sry, the only people i know using panda are all on linux-only =)

It’s been a while since we’ve tried to build Panda on VC6. Since the VR Studio switched to VC7 a few years back, it became inevitable that incompatibilities with VC6 would gradually start creeping in. Every once in a while, someone would email us a problem with a VC6 build, and we would fix it. (VC6 appears to be a particularly fussy compiler, and it needs to have the code just so.)

But it’s been some time since we’ve last heard reports of someone attempting to build Panda with VC6. We just might have gone too far away to easily bring that compiler back to life (it also had some particularly difficult problems with templates). Furthermore, I’ve heard that VC6 and VC7 are not completely binary compatible, and all of our third-party libraries are compiled with VC7; so you might have to rebuild all of the third-party code too, which would be quite a task.

You’re welcome to give it a go, though. It might just work, even without recompiling the third-party libraries. If you come across a compilation error, let me know about it, and I’ll help you figure out exactly what VC6 is complaining about, and how to fix it.

On the other hand, there’s also a movement afoot to get Panda to build with the latest version of Microsoft’s free compiler (see this thread). I’m not sure how the progress has been going on that, but it may be worth a try to download that compiler and give it a try instead.


No … I am looking for the path of least work. I think I would rather just get up to speed on VC8 (.NET 2003). Is there anyone around that can help me get a VC8 build going? Let me know … I’m going camping in the hills of Tennessee this weekend so I won’t get back to this till monday …;.

Have a great weekend folks …

I’m interested in using Panda in a C++ project, I would like to work with VS8, since I own an official license.

I don’t especially want to recompile Panda3D by myself (i’m not currently planning to extend it).

I’ve played with the Irrlicht engine and the only thing I had to do is to include a .h and the dynamic library .dll was loaded at runtime. Is it possible to do the same with Panda ?

Right, that’s pretty much the same story with Panda. But as with any C++ project, you do have to ensure that the .dll is binary-compatible with the code output from your compiler: in the case of MSVC 2005, it means that Panda must also have been compiled with MSVC 2005 (since it appears that this compiler is not really binary-compatible with previous compilers).

I understand that the next release of Panda will be compiled with MSVC 2005, but I can’t tell you precisely when that release will be ready. I imagine it will be pretty soon, though.


Okay, i was sure that VC7 and VC8 are compatible, since it’s the case for all the 3D engines and frameworks I’ve tried.

I’ll post a VC8 project file with relative paths.

I succeeded in compiling pview with VC8 without changing anything in the Panda source and i’m quite happy of it :slight_smile:

Still note that not all of the Functions of Panda3D will be available in a C+±Project because some of the Panda3D-Code is python-only. (see other threads) :wink:

Regards, Bigfoot29

You are right.
But i was wondering what is the best way to mix C++ and Python. The most common way seems to call some C++ native functions from the Python engine. I’m not familiar with that and I’m not sure this is the best way to do what I need.

For a MDX project, i had a very special particle system. Actually, the ground was made of particles, floating and colliding each other, so that when the player was going there, they were repulsed in a Moïse-style.
With fine tuning and hacks, i was able to make 4000 particles colliding, and the bottleneck was the rendering, not the CPU.

I hardly imagine how to convert such a system to some C++ functions calls. Where is the shared memory ?
I don’t know either if “extending” Panda3D (for example with a class derivating from ParticleSystem) is a good idea, since it is very specific to my project (and also because I haven’t tried to recompile everything yet).

What about that : a low C++ layer on the top of Panda with all the core and physics ; a high Python layer which is loaded from my project. I’m not sure.

Sorry, this has nothing to do with Licencing Limitation, i could start a new thread.

PS : here is the VC8 project : … 1415#11415

For the record VC .NET 2003 is actually VC7.1 (.NET 2002 was VC7.0). VC8 is .NET 2005. I just wanted to make sure there wasn’t any terminology/version confusing going on.

Any progress on this project?