cross-platform scenegraph?

New Message Reply Date view Thread view Subject view Author view

Kent Watsen (kent++at++watsen.net)
Thu, 05 Aug 1999 10:45:52 -0700


  *** Sorry if you receive this more then once! ***
  *** Also, sorry about the off-topic Performer post ***
  *** Please read entire message before flaming... ***

A few years back, when SGI was way ahead of everyone else
in graphics technology, it was clear how one developed
their VR application - Performer. Performer has been and
is still a good scenegraph (straight forward, fast, stable).
However, the times have changed and MIPS/Irix is no longer
exclusively used development and/or deployment, as SGI
itself has acknowledge thru its various multi-platform
graphic API attempts (OpenGL, Cosmo3D, OpenGL++, Fahrenheit).

As a developer of VR software, I have been patiently waiting
for a "solution" - a cross-platform scenegraph (inc. low level
api - opengl assumed) that meets my operational requirements:

  1) straight forward, standard features, stable, etc.

     for obvious reasons...

  2) low cost for development

     I'd be nice if everything were free, but I don't mind
     paying for my development environment.

  3) No distribution restrictions or costs

     In order to realistically deploy applications outside
     the development environment, it is necessary to
     minimize the end user's installation process.

  4) Written in Assembly/C/C++ with like API

     The reason for this is several fold. While the primary
     issue is maximizing runtime performance, there is the
     truism that all other languages are embedable, but not
     visa versa. Mind you, I am not promoting C/C++, as I
     believe languages have their strengths and weaknesses.
     But this is the only (efficient) way that I know of for
     code written in multiple language and executing in the
     same process space, to act on the same scenegraph. Why
     you would want to do that is left as an exercise for the
     reader (hint: look at http://watsen.net/Bamboo).

  5) Available on many platforms

     Nobody likes to see their applications become obsolete,
     like that raytracer I wrote on my NeXT. One of the best
     features of Performer is that its had a long run, which
     is now to continue on Linux (yeah!). But, its not on
     Windows and that is a big audience. Clearly there is no
     technical reason why Performer can't be ported to Windows
     or many other platforms - it just doesn't make business
     sense for SGI (and, in the case of Windows, it may not
     even be legal). Too bad, as this would be my #1 choice.

For a while there, I thought the my patience had paid off -
Fahrenheit. Not that it was ever going to be on "many"
platforms, but I knew that it would at least be on two (irix,
windows) out of three (linux being the other) that I care
about. But now that SGI has publicly announced a reduced
interest in Fahrenheit, due to use restrictions in their
contract with Microfoft, it appears that we (people trying
to deploy solutions across platforms) are back to not having
any cross-platform scenegraph solution.

What are we to do?

This really is a question for you all. What are your groups
doing about all this? How come now one is talking? Is my
group the only one that feels abandoned?

To get the discussion rolling, I see a few viable alternatives:

  1) design code to use existing platform specific graphic APIs.

     this could either be done using a "common denominator"
     api wrapper or be done using a factory pattern (OO term
     for moving specialization into a derived class). The
     first approach allows for code-reuse while the second
     allows for platform-specific extensions. If anybody
     has done this, please share...

  2) find a vendor-neutral solution

     does anyone know of a company out there selling something
     meeting the above requirements (language bindings optional)?

  3) find an open-source solution

     does anyone know of an open-source solution out there
     meeting the above requirements (language bindings optional)?
     BTW, I am open to the idea of starting one if need be...

And before you say it: yes, Java3D is great - too bad Java's GC
is so unpredictable....

PS: I subscribe to all the mailing lists I sent this to

PPS: see you at SIGGRAPH!

Kent Watsen
http://watsen.net/kent


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Thu Aug 05 1999 - 10:40:03 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.