I agree with John, and will make a stronger statement that C++ and Boost are part of the problem, not part of the solution as far as future development of VPython goes. I don't at this point have time to work on VPython (I've tried to get the V4 betas to compile on OS X, but they aren't even close, even with all the prerequisite libraries installed). So I'm following this discussion with interest (both here on edu-sig and over on the vpython list).
I have two hopes for the future of VPython. One is a more python- based extension mechanism, using Ctypes or Pyrex, possibly based on ctypes-PyOpenGL. The problem with this is that Mike Fletcher, who is doing the ctypes-PyOpenGL work, says that initially the ctypes branch will be slower than the existing PyOpenGL (but easier to maintain, and eventually may be faster). Jonathan Brandemeyer, the most recent maintainer of VPython, said that he did make some attempts to use PyOpenGL but found it to be too slow for VPython. That's why I think Pyrex might be the way to go--it looks mostly like Python code, but lets you call C code inline to make more optomized calls into the OpenGL infrastructure. My other hope for VPython would be to build it on a more capable 3D system, such as Ogre or Panda3D (Mike Fletcher keeps a large list of such systems: http://www.vrplumber.com/py3d.py). In this scenario, VPython would be an easier entry point into one of these more capable (and correspondingly more complex) systems, an Ogre-lite so to speak. This would create a new dependency on an external library, which is bad, but may give VPython better evolutionary legs, which would be good. My measure of how likely this scenario is, is based on having one of the scenegraph tools Just Work for the three main platforms (Windows, Linux, OS X), and that hasn't happened yet. There is so much of interest going on in the 3D world right now, with good working systems finally available for X3D[1], open-source tools to build 3D avatars for Second Life[2], machinima systems[3], and tools like Google SketchUp[4] making 3D accessible to anyone who is interested. It is sad to see VPython atrophy right now, but I'm sure that the ideas in it will find a home somewhere, whether the code does or not. [1] http://www.web3d.org/ [2] http://www.avimator.com/ [3] http://orange.blender.org/ --Dethe On 9-Oct-06, at 10:16 AM, Arthur Siegel wrote: > On Mon, 2006-10-09 at 11:48 -0500, John Zelle wrote: >> I am also very concerned about this situation, as I think VPython >> is a >> wonderful tool (to which I've contributed). > > Hi John - > > Thanks for that concern. > > If you are following the vpython list you see that I am digging > into the > immediate issues. I have no C++ skills to have atrophied, but - as I > said there - getting an understanding of building Python > extensions has > been on my agenda and something concrete to dig into helps, so that > I am > having some fun with it. > > But I agree that for all the simplicity on the surface, there is more > complexity underneath than one would hope for. It had Dethe, for > example, throwing up his hands in trying a port to native Mac. > > The project funding is over, so that only volunteer resources are > available to salvage it. > > I agree with you that more radical strategy than following the current > path is probably necessary. > > Py-OpenGL is itself moving to a ctypes implementation, and ctypes > is now > in the core Python distribution. > > Slight problem being that I have no understanding of what that means. > Intuition is that the best solution might be there, someplace. > > Meantime I am getting more familiar with the current C++ code, so > that I > should be in a position to contribute to a re-implementation, given a > strategy to do so. > > But it is OTOH scary that as to the vpython list, I seem to be the > guru > at the moment, since I certainly don't consider myself qualified to > think this through without folks with more low-level skills. > > I am holding off to going the scipy list with things until I at least > can talk with some measure of intelligence - but I am still thinking > that is where the best hope might be. > > Art > > > > _______________________________________________ > Edu-sig mailing list > [email protected] > http://mail.python.org/mailman/listinfo/edu-sig There are two ways of constructing a software design. One way is to make it so simple there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies. --C.A.R. Hoare _______________________________________________ Edu-sig mailing list [email protected] http://mail.python.org/mailman/listinfo/edu-sig
