thinman@uunet.UU.NET (01/30/91)
Real-time interaction with screen, input devices, and
force-feedback devices, (the building blocks of "virtual
reality") promises to revolutionize mass-market computer
graphics, and indeed all of computer interaction. We need a
common programming language for 3D computer graphics.
It is a common mistake (c.f. Unix and the PC) to standardize
on an architecture that happens to work well for
contemporary applications, but cannot stretch to meet new
needs. The anatomical analogy is to animal species which
grow larger and larger (cubic increase in weight) with the
same relative skeletal thickness (squared increase in
strength). Indeed, the original purpose of the Mach project
was to design a new type of skeleton for UNIX with thicker
bones and more regular coupling mechanisms.
With unification around one software architecture, the use
of 3D computer graphics will explode. The current totality
of 3D graphics systems will become a sliver of the total
market. Standard PC GUI's will be 3D, not 2D. Virtual
reality hardware is here today, but pleasant user
interaction is not. Software is not available for a mass-
market platform. It will require the collective effort of
many artists, designers, and programmers. These energies
will only be unleashed if 3D graphics unifies.
A short marketing digression: the computer market can be
divided into two sectors: computers which are affordable to
the average affluent consumer, and those which are used
exlusively by businesses. In the latter sector we have many
examples of successful software systems: Berkeley TCP/IP,
sendmail, and the X Window System. These systems share a
common profile:
1) they are free or easily available,
2) they are portable,
3) they are reasonably functional, and
4) they have a backing organization which coordinates
user-contributed enhancements and bug fixes.
Before 1980, UNIX also followed the above profile.
Another short marketing digression: the life cycle of a
computer market is strongly influenced by its level of
unification:
a. A new idea or level of technology appears.
b. A few pioneering vendors appear.
c. The market heats up.
d. Many more vendors appear. There are now many
proprietary schemes, all of which do roughly the same
thing. The customers favor one or a few schemes.
e. The market is now at a cusp point where it has 2
choices:
Unification around one architecture. The
market achieves lift-off. Most of the
original vendors and lots of proprietary
schemes are frozen out. A vendor either
provides unifying bridge software that helps
customers re-use software for old proprietary
scheme under the new unified architecture, or
the vendor dies.
or
Non-unification with a slow die-off of
proprietary schemes with lesser market share.
Total market growth is much slower without
unification. The user's "standard of living"
is much lower because without one clear
platform, much second- and third-tier "fill in
the gaps" software is never written.
It's crucial to the future of 3D computer graphics, and
Virtual Reality in particular, that the field settle on a
common software standard. We are now at the cusp point.
The basics of 3D graphics are widely accepted; there exists
a plethora of textbooks. There are a few generally agreed
methods for the construction of each level of graphics
systems. Yet, there is no common standard for 3D softare
development. Several major vendors have proprietary library
systems which achieve excellent results for their particular
graphics architecture. Researchers rarely release the
software resulting from their efforts because that software
will only work on a small fraction of the machines used by
their colleagues. It is very much in the interest of 3D
graphics vendors to collectively fund a freeware VR software
system.
Lance Norskog
thinman@cup.portal.comPezely@udel.edu (Cowboy Dan) (01/31/91)
Lance Norskog writes in article <15444@milton.u.washington.edu>: > > Real-time interaction with screen, input devices, and > force-feedback devices, (the building blocks of "virtual > reality") promises to revolutionize mass-market computer > graphics, and indeed all of computer interaction. We need a > common programming language for 3D computer graphics. I see your point, but... Why limit yourself to only three dimensions? Why hard-wire 3D into a language or a VR platform? (For that matter, why hard-wire anything into VR if you don't have to?) You can split up audible, tactile, and graphic data from the render-data so as to blast fewer bytes to the respective output systems, but then you need separate structures to handle each type of output which would seemingly belong inside the language; we shouldn't favor visual data over audio. Such a system would then have limiting factors when observed a few years down the road. Why waste the time and energy inventing a new language when there is already a suitable one IF you take into consideration the computational facilities beyond the current generation of hardware? What language then? Common Lisp! If you object to it, then you do not know enough about the language. If you object to its use in VR, then ---IMHO--- you are being too short-sighted about the design of VR systems. Many organizations and companies are using object-oriented C or C++ with custom libraries to provide for 3D. I heard (ie, not sure if it's true) that AutoDesk bought the company which makes HOOPS to simplify development. Kids, DO try this at home: If you design the VR system right, you can make an efficient C/C++ platform with Lisp as a top-level language to handle the variable data structures. Think of it as a meta-OS with Lisp applications running on top. This makes sense mostly for heterogeneous distributed systems with mixed-bandwidth networks, not to mention the ability to re-program the system utilities on-the-fly (something very useful for R & D). I'm sure I'll get flamed for this.... Oh well. (my response might not come for a few days, though.) -Daniel