[Edu-sig] More on Panda3D

Tom Hoffman tom.hoffman at gmail.com
Mon May 8 20:48:50 CEST 2006


Hi Kirby,

Have you also looked at Soya?  I don't think it has come up in this
conversation.

http://home.gna.org/oomadness/en/soya/index.html

Soya 3D is a very high level 3D engine for Python. Soya aims at being
to 3D what Python is to programming : fast to learn, easy to use,
while keeping good performances ! Our goal is to propose a complete
architecture to realise Free (GPL) games with professional quality
entierely in Python.

It seems to cover similar territory to Panda3D, but it is more of a
grassroots community creation.  I haven't gotten into either far
enough to really say which one is better, although Soya's definitely
the tougher install.

--Tom


On 5/8/06, kirby urner <kirby.urner at gmail.com> wrote:
> So I think the first thing will be to write a new subclass of writer,
> as I've already done for VRML, VRML2, EIG, POV-Ray, and Live3D.[1]
>
> There's already an Egg API that will allow me to avoid low-level
> bricking in with strings (no direct eggfile.write('stuff')).  Here's
> what it looks like (from the documentation [2]):
>
> def makeWedge(angleDegrees = 360, numSteps = 16):
>     data = EggData()
>
>     vp = EggVertexPool('fan')
>     data.addChild(vp)
>
>     poly = EggPolygon()
>     data.addChild(poly)
>
>     v = EggVertex()
>     v.setPos(Point3D(0, 0, 0))
>     poly.addVertex(vp.addVertex(v))
>
>     angleRadians = deg2Rad(angleDegrees)
>
>     for i in range(numSteps + 1):
>         a = angleRadians * i / numSteps
>         y = math.sin(a)
>         x = math.cos(a)
>
>         v = EggVertex()
>         v.setPos(Point3D(x, 0, y))
>         poly.addVertex(vp.addVertex(v))
>
>     # To write the egg file to disk, use this:
>     data.writeEgg(Filename("wedge.egg"))
>
>     # To load the egg file and render it immediately, use this:
>     node = loadEggData(data)
>     return NodePath(node)
>
> So I'll just suck up a Polyhedron from my rbf.py, spoon feed the
> vertices and polygons via the Egg API, then load the egg in a Panda
> scenegraph for display.
>
> I should be getting my initial results shortly.  I'll publish some source code.
>
> Query:  could we reimplement the whole Elastic Interval Geometry thing
> inside of Panda3D.  At this point, I see no reason why not.  If we
> treated the intervals as changing-size Bones at runtime, I bet we
> could get some interesting Creatures.
>
> I recently sent a heads-up to Gerald (originator of EIG, inspired by
> Kenneth Snelson [3]), regarding my appreciative mention of his work  a
> few times in my LKL talk.[4]
>
> Kirby
>
> [1]  http://www.4dsolutions.net/ocn/python/povray.html  (example POV writer)
>
> [2]  http://panda3d.etc.cmu.edu/wiki/index.php/Writing_3D_Models_out_to_Disk
>
> [3]  Kenneth Snelson:
>       http://www.kennethsnelson.net/
>       http://www.grunch.net/snelson/
>       http://worldgame.blogspot.com/2006/05/barrel-tower.html
>
> [4]  http://bfi.org/pythonicmathematics
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig
>


More information about the Edu-sig mailing list