[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