Feature Requests.

Return to Panda Features in Development

Feature Requests.

Postby Josh Yelon » Sun Aug 05, 2007 1:44 pm

I now have a standing offer: anybody who wants to add a small feature to panda can ask me for help, and I'll walk you through the process. I'll help you find the classes you need in the source tree, I'll explain how they work, I'll explain how to extend them - I'll even go so far as to work on the code side-by-side with you through VNC. My hope is that you'll get the hang of working on panda, and that in time, you'll become a panda developer yourself.

If you want a new feature but aren't willing to implement it, you can post it here, but be aware - Panda3D only has a few full-time developers, and they are very overworked. We generally don't have time to do requests.
Last edited by Josh Yelon on Sat Oct 13, 2007 2:01 pm, edited 2 times in total.
Josh Yelon, Teacher, Carnegie Mellon Entertainment Technology Center
Josh Yelon
 
Posts: 1360
Joined: Wed Mar 30, 2005 8:30 pm

Postby rdb » Wed Aug 08, 2007 12:53 am

Collision Solid: Box :)
Shouldn't be much work to do... perhaps if I have some spare time I may look into it, if its not already done by then :)
rdb
 
Posts: 9299
Joined: Mon Dec 04, 2006 5:58 am
Location: Netherlands

Postby Josh Yelon » Wed Aug 08, 2007 1:43 am

Hey, even though I'm one of the devs, I guess I can ask too. :)

How about reimplementing CollisionGeom? It's very inefficient at present.
Josh Yelon, Teacher, Carnegie Mellon Entertainment Technology Center
Josh Yelon
 
Posts: 1360
Joined: Wed Mar 30, 2005 8:30 pm

Postby Laurens » Wed Aug 08, 2007 1:28 pm

I am wondering if using Bullet for collision detection in panda would be a good idea. It's opensource, cross platform, actively developed:
http://www.continuousphysics.com/Bullet/
Laurens
 
Posts: 145
Joined: Sat Sep 23, 2006 5:08 am

Postby treeform » Wed Aug 08, 2007 1:38 pm

Laurens, ODE is also pretty good.

It is slowly being integrated with panda i dont know if bullet will be next on the list.
User avatar
treeform
 
Posts: 2106
Joined: Sat May 05, 2007 5:15 pm
Location: SF, CA

Postby Laurens » Wed Aug 08, 2007 2:18 pm

I didn't know ODE has integrated collision detection, but reading their website cured that :) . ODE is fine with me! And it has boxes too:
http://www.ode.org/ode-latest-userguide.html#sec_10_7_0
Laurens
 
Posts: 145
Joined: Sat Sep 23, 2006 5:08 am

Postby ynjh_jo » Thu Aug 09, 2007 1:56 am

Bullet has built-in continuous collision detection, while ODE doesn't. ODE user has to figure out the best way to do that based on the nature of the scene.
http://ynjh.tk
Intel P4Prescott 2.8GHz HT | ATI Radeon HD4670 1GB GDDR3
User avatar
ynjh_jo
 
Posts: 1795
Joined: Tue Apr 18, 2006 12:41 am
Location: Malang, Indonesia

Postby enn0x » Thu Aug 09, 2007 10:16 am

All physics packages have two major parts: physics itself, and collision detection.

For Bullet:
- poor physics.
- good collision detection, including convex shapes and hulls.

For ODE:
- good physics
- poor collision detection via third-party OPCODE library.

There have been rumors for about one year that ODE is going to drop OPCODE and replace it with Bullet.

Maybe it would be best to give ODE developers some time and let them do the integration of ODE (physics) and Bullet (collision).

enn0x
enn0x
 
Posts: 1356
Joined: Wed Nov 08, 2006 1:39 am
Location: Germany, Munich

Postby Cyan » Thu Aug 09, 2007 8:34 pm

Some way to draw scalable curves (like for a HUD) would be nice. Maybe something like SVG?
User avatar
Cyan
 
Posts: 215
Joined: Fri Jul 14, 2006 12:26 pm
Location: Utah

Postby jeremy » Sat Aug 25, 2007 10:17 pm

another one that shouldn't be too much work to implement (though it would not be supported under dx9) is geometry shader support.
jeremy
 
Posts: 41
Joined: Thu Apr 19, 2007 5:40 pm
Location: Atlanta, GA

Postby rdb » Sun Sep 16, 2007 8:22 am

shouldnt be much to implement either:
-vertical align for gui objects
-The operands TextureStage.COSrcRed, TextureStage.COSrcGreen and TextureStage.COSrcBlue. I really need them, cuz then I can replace my shaders with combine modes, which is wayyy faster.
rdb
 
Posts: 9299
Joined: Mon Dec 04, 2006 5:58 am
Location: Netherlands

Postby drwr » Sun Sep 16, 2007 12:02 pm

Sorry, you'll have to talk to the graphics card manufacturers about adding new combine operands. Panda just exposes the options that the graphics API gives us, we don't make up the list.

David
drwr
 
Posts: 11425
Joined: Fri Feb 13, 2004 12:42 pm
Location: Glendale, CA

Postby Josh Yelon » Sun Sep 16, 2007 4:57 pm

Actually, I suspect that modern cards don't even have fixed-function hardware any more. I bet they translate everything into shaders.
Josh Yelon, Teacher, Carnegie Mellon Entertainment Technology Center
Josh Yelon
 
Posts: 1360
Joined: Wed Mar 30, 2005 8:30 pm

Postby treeform » Wed Oct 10, 2007 8:55 pm

+1 for Cyan SVG request. SVG could be just like svg2egg importer only that would be 2d and have a little more smarts in it.
User avatar
treeform
 
Posts: 2106
Joined: Sat May 05, 2007 5:15 pm
Location: SF, CA

Postby Hypnos » Fri Oct 12, 2007 7:03 am

I'd love to see consoles (xbox(360), wii, ps3) supported by panda3d ;)

Vector graphics could be nicely supported by making pyamanith (or a similar lib) working with panda3d...
Hypnos
 
Posts: 585
Joined: Sat Sep 11, 2004 8:07 am
Location: Zürich, Switzerland

Postby neighborlee » Fri Oct 12, 2007 2:24 pm

Hypnos wrote:I'd love to see consoles (xbox(360), wii, ps3) supported by panda3d ;)

Vector graphics could be nicely supported by making pyamanith (or a similar lib) working with panda3d...


I'd love to see support for them as well, but at least the Wondrous Wii <G>

..yes. I have one and am LOVING Wii Tennis being a tennis player of many years..the Wii mote is just tons-a-fun and panda working there would be amazing and another avenue for panda :)

cheers
nl
:)
One Game at a time-
http://heartseed.sf.net
[ We are currently looking for help ]
Email us or goto: irc.freenode.net
to channel #heartseed {You can also find us in #neighbors & #panda3d }
Thank You.
User avatar
neighborlee
 
Posts: 149
Joined: Sat Jun 18, 2005 11:01 am
Location: Seattle, Washington

Postby rdb » Sat Oct 20, 2007 3:54 am

What about merging PNMImage into Texture? Dunno whether this is a reasonable idea..
rdb
 
Posts: 9299
Joined: Mon Dec 04, 2006 5:58 am
Location: Netherlands

Postby drwr » Sat Oct 20, 2007 11:17 pm

What about merging PNMImage into Texture?

What do you mean? The PNMImage class manages reading and writing image files from disk. The Texture class manages copying images to and from the graphics engine. They're related, but fundamentally different operations, and I don't think you want them to be handled by the same class.

Or maybe you're really just asking for methods like setXel() added to Texture?

David
drwr
 
Posts: 11425
Joined: Fri Feb 13, 2004 12:42 pm
Location: Glendale, CA

Postby rdb » Sun Oct 21, 2007 5:58 am

Actually, I dont know why they can't be handled by the same class. And, it could indeed be nice too if functions like setXel are added to the Texture and make PNMPainter paint on Textures as well, so I dont have to convert them every frame in my Terrain Painter code.
rdb
 
Posts: 9299
Joined: Mon Dec 04, 2006 5:58 am
Location: Netherlands

Postby drwr » Sun Oct 21, 2007 1:15 pm

Actually, I dont know why they can't be handled by the same class.

Mainly for modularity. As it is now, with the classes separate, you can write a program that uses PNMImage (for instance, image-trans or image-resize) and link it with just a small part of Panda3D. If PNMImage were the same thing as Texture, then such a program would have to link with pretty much all of Panda3D, including all of the graphics context and rendering code, even though it's never going to do any rendering.

This is the function of classes, to separate different concepts from each other. To take an extreme example, we could technically combine all of the different classes in Panda into one enormous class definition that did everything. But then it wouldn't be very object-oriented any more, would it?

make PNMPainter paint on Textures

Though this is technically possible, it would be difficult. One of the properties of PNMImage is that all images are laid out (almost) the same way in memory, regardless of their properties. This makes it very easy to write a class like PNMPainter, which can paint equally well on grayscale, grayscale/alpha, 24-bit, 32-bit, or 64-bit images. However, the memory in a Texture is laid out differently according to its texture properties, to match the format the graphics hardware expects, for fast upload to the graphics hardware. Thus, to make a PNMPainter paint directly onto a Texture, there would have to be an interface layer that does the conversion to the appropriate format. But that's exactly what a PNMImage is, isn't it?

I suppose you could have a class that did this automatically, without the need to explicitly call Texture.load() from your PNMImage. But that doesn't sound that useful, and it wouldn't run any faster than if you made the call yourself. It would just hide the underlying operation from you.

David
drwr
 
Posts: 11425
Joined: Fri Feb 13, 2004 12:42 pm
Location: Glendale, CA

Postby treeform » Sun Oct 21, 2007 1:28 pm

i agree with david. More separate things the better.
User avatar
treeform
 
Posts: 2106
Joined: Sat May 05, 2007 5:15 pm
Location: SF, CA

Postby mavasher » Wed Oct 31, 2007 12:41 pm

I have thought for a while that there should be a .detachFade() command on the nodes.

Such a function would detach the node but fade out the node by a default time frame that could be modified by the user.

The FadeLODnode function seems to work well for transitioning between two models. But the faded removal of a node would be very useful.

I realize that I can get this effect by changing the alpha value through a task- but it would be helpful if it was already built in to the nodepath.

That way I wouldn't have to worry about creating and ending a separate task.
On Panda3DProjects.com:
http://www.p3dp.com/?mavasher
User avatar
mavasher
 
Posts: 295
Joined: Thu Feb 08, 2007 10:32 am
Location: Texas

Postby rdb » Wed Oct 31, 2007 1:35 pm

This is what I use for a detachFade:
Code: Select all
Sequence(LerpFunc(object.setAlphaScale,fromData=1.0,toData=0.0),Func(object.detachNode),Func(object.setAlphaScale,1.0)).start()

(havent tested that line, but you get the general idea.)
It works fine for me...
rdb
 
Posts: 9299
Joined: Mon Dec 04, 2006 5:58 am
Location: Netherlands

Postby ynjh_jo » Tue Dec 04, 2007 1:37 am

If I may ask, please add baseline query of DynamicTextFont. The baseline varies for each font.
My case is, I need to stack a fixed height buttons, so I have to adjust button's height according to the font's line height, that's no problem. The problem is I don't know how much up & down button's frame offset ratio should be. Currently I use blind me ratio, 1/4.

Thanks.
http://ynjh.tk
Intel P4Prescott 2.8GHz HT | ATI Radeon HD4670 1GB GDDR3
User avatar
ynjh_jo
 
Posts: 1795
Joined: Tue Apr 18, 2006 12:41 am
Location: Malang, Indonesia

Postby Josh Yelon » Tue Dec 04, 2007 11:26 am

That sounds like a fairly simple addition. You should try adding it yourself. It might be an interesting learning experience.
Josh Yelon, Teacher, Carnegie Mellon Entertainment Technology Center
Josh Yelon
 
Posts: 1360
Joined: Wed Mar 30, 2005 8:30 pm

Lightmapper and water.

Postby birukoff » Fri Feb 29, 2008 10:58 pm

I would like to add a feature request: the built-in lightmapper. I think lightmapping is really great feature, and I see many engines offer built-in lightmapping tools (see irrlicht, crystal space, leadwerks). In my opinion this feature could be very handy.
Another thing. Water is something we have a lot around us, as well as in games. It would be great to have a built-in water in Panda, what do you think?
User avatar
birukoff
 
Posts: 424
Joined: Thu Nov 08, 2007 7:03 am
Location: Russia, Moscow

Postby T Rex » Sat Mar 01, 2008 12:03 am

I have a request, though I doubt it will happen:

What about some ready-to-use networking code that would allow anyone to create at least a small-scale multiplayer game?

I would really like to be able to do multiplayer, but I don't know the first thing about programming it. This is true of a lot of people. What do you think?
T Rex
 
Posts: 104
Joined: Wed Jan 03, 2007 6:39 pm

Postby ASerdar » Sat Mar 01, 2008 4:38 pm

Well... a couple ideas that might be nice.

1.) Floating point render buffers and texture objects

2.) Includes for shaders, being able to assign separate vertex and pixel shader files.

~~Adam
ASerdar
 
Posts: 12
Joined: Thu Sep 14, 2006 10:24 am

Postby rdb » Thu Apr 03, 2008 1:48 pm

Separate pixel and vertex shaders is indeed a nice idea.

Something we came upon at the IRC channel:
A NodePath.writeEggFile also instead of just a writeBamFile, even if it would be just a wrapper for the EggLib...
rdb
 
Posts: 9299
Joined: Mon Dec 04, 2006 5:58 am
Location: Netherlands

behaviour trees

Postby Necroside » Sun Apr 27, 2008 3:18 pm

Hi everyone
I'm a new programmer learning python and Panda3D, Just wondering if anyone knows a behaviour tree editor (just like the one bungie studios used in halo (there are some screeshoots around)) or it's possible to be implemented in panda in the future. It's a good choice because a designer can just use it to AI and we (programmers) can dedicate the time to something else.

Thanks

BTW
Forgive my bad english
Necroside
 
Posts: 1
Joined: Sun Apr 27, 2008 3:15 pm
Location: Colombia

Next

Return to Panda Features in Development

Who is online

Users browsing this forum: No registered users and 0 guests