[Announce] mcf.vrml release 2.0b
mfletch at tpresence.com
Thu Apr 20 00:11:39 EDT 2000
mcf.vrml version 2.0 beta is now available at
>From the home page:
The mcf.vrml libraries are an extensive set of programming tools for
manipulating VRML 97 sceneGraphs. Their primary purpose is to allow the
creation of design-time tools to programmatically process and generate
complex VRML 97 content. Lately they have been used for generating VRML 97
sceneGraphs in response to Zope queries.
* Full parser, supports all VRML 97 constructs. Written on top of the
simpleparse parsing engine which is, in turn, built on top of the
mxTextTools library. Parses/loads at approximately 160,000 cps (with
considerable potential optimisation untapped).
* All sceneGraph/Node/Route/etceteras objects can be
pickled/unpickled. This allows for storage in Zope databases for
server-side generation tasks.
* Full mcf.walker processing/rewriting engine sub-classes allow for
creating advanced processing applications (Tpresence's commercial
SkeletonBuilder H|Anim avatar converter is based on mcf.vrml and mcf.walker)
* Node-creation syntax in Python closely mimics VRML syntax while
still standard Python
* Robust linearisation/output including prototype dependency
negotiation, USE negotiation, etcetera. Allows application developers to
largely ignore the question of sceneGraph ordering.
* Written in Python, which has a supportive developer community.
* Includes useful tools including material stripper for 3DSMax
pre-lighting support, and transform zeroing (convert coordinates to
* Open Source (Python/BSD) license (see distribution for details)
>From the release notes:
2000/04/19 -- version 2.0 beta
This represents the first public release after re-writing the core node
structures (prototype, node, etc.) and revising all scripts to use the new
(simplified) interfaces (surprising minor revisions, giving the level of the
The re-writing was triggered by switching to the SimpleParse parser
generator from the older mcf.pars parser generator (it was simpler to write
a new builder/parser using the SimpleParse generator's more reliable parse
tree than to retro-fit the original fragile converter). In doing so, the
memory overhead for parsing long files with many root-level nodes has been
reduced. Overall speed appears somewhat better, but not dramatically so.
Mike C. Fletcher
Designer, VR Plumber
More information about the Python-list