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.com
Pezely@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