What does Panda3D need?

Manakel, anyways wish 3 is granted. (I think)
I looked into the CVS and saw they were integrating ODE. :slight_smile:

I think NodePath.writeBamFile() serializes a node and all its children, but I don’t know if it recreates panda python objects.

I think it would be nice if active tasks and intervals could be serialized too.

I would also like to see OpenAL integration. Fmod is an expensive proprietary component of what would otherwise be free software.

OpenAL integration is being worked on :slight_smile: .

I am a Chinese newbie to Panda, I hope it will support HLSL in the next release.I also repect someone to give a general framework for making small game or interactive application or just for experimenting demo. So are these thoughts ridiculous? I just begin to learn python and panda3d, I have to dive into the English manual and forum.

I believe ThomasEgi is working on a MMORPG framework, but I’m not sure.

And uhh. whats HLSL?

I guess it’s one o the other Shader language … (not CG)

Joystick support is something that is missing IMHO. Sure, you can use PyGame (and have the PyGame event loop running too), or write own joystick modules, but Panda3D-native joystick support would be nice.


Unfortunately, we just need more developers.

I would develop on Panda3D… perhaps if I finished working on my current GeoMipMapping Terrain Without Popping - Project (In c++)?
If you would want me, that is 8)

Thank u pro-rsoft. HLSL is the Microsoft’s version of Cg, same syntax with Cg, but cann’t use in OpenGL, just in DirectX. I am familiar with DirectX than OpenGL, so I proposed that feature, just for myself, it is not important. Cg is better for cross-platform.

Thanks for the explanation weihuan :wink:

Oh, and about what P3D needs more:
also syntax highlighting in wiki/manual. Perhaps also in forums. Would be very useful. At least python and c++ then.

  1. Multi-threading.
  2. streaming terrain.
  3. ODE integration.
  4. More full featured exporters.

hmmm… multi-threading is a nice one. Right. Tried to do some threaded programming, but basically you can forget making multiple threads and hope they will work on a multicore system… just one core under load due to pseudo-multithreading of a single python instance… dunno if that can be fixed easily by the Panda3D-Devs…

Ode or PyODE is worked on when I remember correctly :slight_smile:
(something like that has been said…)

Regards, Bigfoot29

I wonder if Stackless integration would make “multi-threading” easier?

I think that the documentation should be improved first.

I am an experienced Python programmer and started Panda programming (just for fun) a few months ago.

Let me tell you about my impressions:

The web site design should be improved.
For example, I was totally surprised by the 1.4.0 release.

  • I’d like to see the News section to be updated more frequently (please add drop a line there once in a while for work in progress, not just when a new version released).
  • Perhaps a Wiki for the documentation would make sense.
  • In many cases, I found out how to use a some feature only by browsing through the various forums. For example, how to use a joystick or how to set up split-screen.
  • Other important features of the system are missing documentation. In particular, how to write a network game. I don’t even get an idea of the concept. I guess it’s to add a layer above the render model tree that sends all changes to all clients, but I really don’t know. A simple example how different players can move and interact in a 3D world would help a lot. I’m thinking here about simple VR example where players can talk to each other and can push each other (based on the roaming ralph example).
  • OSD text rendering for big texts like a full-screen “Game Over” is ugly.
  • The 1.4.0 change log mentions a new text rendering mode. But it’s not documented in the manual. I guess it could be a solution to the last problem, but I didn’t test it, because I don’t get an idea how to use the new feature…
  • The documentation should be linked together (in a wiki sense): It would help a lot if, for anything mentioned in the manual or the reference manual, pointers to examples using that feature would be included.
  • The screen shots are nice, they show what is possible. But they don’t really help; they should link to a page describing what is special about it from a developers point of view, ideally with code fragments or full downloads.

I just found out that in fact the online manual is a wiki.
This is not obvious when browsing the site.
Maybe it should be mentioned on manual start page that everyone can help to improve the documentation.

I gave it a try and update the manual page for joystick support; adding a call to pygame.events.get().
But the page wasn’t rendered as expected, then.
I am used to the [moinmoin.wikiwikiweb.de: MoinMoin] wiki syntax, and I was unable to render a series of 3 python comment lines ‘as is’ - the wiki software always turned them into a numbered list.
Then I clicked on the “Help on Editing” link; only to find that a help page does not exist.

I really think the documentation and the web site should be improved first…

  1. Better organized/more complete documentation. Example - Instead of having just an A-Z list of the classes, functions, and methods, split those lists up into specific categories.

  2. Include a simple multiplayer example in the feature tutorials

We intentionally hide the fact that the manual is a wiki, because we feel a person should use panda for a week or two before they start editing the manual. Just a quality-control thing. I figure that after a week or two, most people will notice the “wiki” in the manual links.

I should mention - this wish list is cool, but the fact is, nothing’s going to get done unless somebody volunteers.

The Disney team is always working hard on a game that uses panda. In the process of working on that game, they’re constantly improving panda. But the realities of commercial software development being what they are, they can’t spend a lot of time on any panda features that don’t contribute directly to the game they’re working on.

As for the Carnegie-Mellon team, that’s me. And I’m a professor with a full-time teaching load. I put in time on Panda as well, but most of it gets used up dealing with OS and driver compatibility issues. Not much time left for adding features. However, I do think I have time to finish my new improved movie-player/free audio manager for panda.

This fall, I’ll have some students who will be able to put in a little time on panda too. They’ll probably be able to improve the manual a little, and work on the stylistic aspects of the website.

Beyond that, it needs to come from the community. Fortunately, the community has recently become much more active. I see an awful lot of useful panda features being developed out there - the shadow codes, the text console, the OpenAL audio managers, etc. Now that there are so many, we need to set up some way for me to integrate these into panda.

My suggestion is that if you would like to see one of these integrated into the panda codebase, then here’s what you have to do: get it polished up to the point where you feel it’s ready for inclusion, then send me an email. (etc-panda3d@lists.andrew.cmu.edu). If it’s clean and ready-to-go, I’ll be able to integrate it very quickly.

I just added Syntax Highlighting support to the Manual.

If anyone still spots an old

 tag, please replace it with  or  (or other languages, use  to get a list).

I’ve also split the C++ and Python manuals - hit the C++ link at the top of a page to get the C++ version of a manual page. Only the first pages (especially Hello World tutorial) but more will come later.

The new syntax is explained here: