Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesPut the Space in Cyberspace


March 1996 / Features / Put the Space in Cyberspace

Create and explore 3-D Web worlds with the Virtual Reality Markup Language

Udo Flohr

The world isn't flat, so why should the World Wide Web be? The Virtual Reality Markup Language (VRML) enables you to create and navigate through 3-D worlds on the Web.

What's it good for? Try this: Imagine a travel agency's home page. Instead of a boring list of choices or photos of destinations, you find yourself in a 3-D scene--a virtual travel agency. While waiting for the "agent," you step up to a poster of a resort. A mouse-click takes you into the scene in the poster, complete with trees, mountai ns, and a country club. Ordinary, flat Web pages will seem snore-inducing by comparison. In addition, the "no-interface" interface will appeal to the neophyte net surfer.

VRML (it rhymes with thermal) is a specification for defining 3-D environments--worlds--on the Web. It aims to create a Web environment requiring no training, no metaphor, and no interface. In Mark Pesce's groundbreaking book VRML--Browsing and Building Cyberspace (New Riders Publishing), Web creator Tim Berners-Lee reasons that navigating 3-D space is more natural than clicking through hyperlinked text pages. You can explore virtual cities or museums and view 3-D representations of data. Like hot-linking through the Web, you can jump from one 3-D VRML world to another.

A Language of Space

VRML's designers (Pesce, Gavin Bell, and Tony Parisi) had three requirements for VRML 1.0: It had to be platform-independent, suited for low-bandwidth network connections, and extensible. They sacrificed other features, including interactivity. You can see that virtual basketball and move around it, but you can't dribble it--not yet, anyway.

They postponed intera ctivity to avoid a language war. People don't get excited about the syntax of a language for describing polygonal objects, says the VRML specification, but they do get excited about syntax for manipulating "real" objects. They know they can't avoid the issue of adding "real" language features to VRML forever--arbitrary interactive behavior is critical to VRML's long-term success. Therefore, the plan is to include it in version 2.0.

Although it's not an extension to the Hypertext Markup Language (HTML)--and HTML browsers cannot interpret it--VRML is similar to HTML in a few ways. Like HTML, VRML is a platform-independent, document-centered ASCII language. Unlike HTML, it tells the computer how to create 3-D worlds. Developers construct complex objects--nodes in VRML parlance--from polygons and solids. However, VRML is more than geometry: You can specify light sources, the object materials, and effects such as fog.

Besides polygons and 3-D items, a node can contain a JPEG image or even MIDI sound data. A VRML page can also include links (which are called anchors) to other VRML documents, HTML documents--whatever. A VRML object (or part of an object) can link to any other item on the Internet. All this information goes into an ASCII text file that typically has the extension .wrl. When you point your VRML-enabled browser at a VRML page, you enter the world that's described by the file.

As the World Downloads

VRML operates within the basic Web browser-server paradigm. Servers interpret browser requests and, with any luck, return the requested document, preceded by the document's tag, or Multipurpose Internet Mail Extensions (MIME) type. The MIME type for VRML documents is x-world/x-vrml. You can view them with a VRML viewer and a browser configured to use that viewer. It's simple.

On the server side, you may distribute a VRML world across several servers. Part of a scene may come from one place, and links may connect to a different server at a different location. VRML files use a nested-object representation, sending the overall picture information first and the details later. In practice, this means scenes and objects first display as a rectangle (the bounding box) and the detail increases as more information arrives. Consequently, you can start navigating with your VRML viewer while not-yet-visible details and objects load. This makes VRML more bearable on slow connections and machines.

The viewer's navigation interface typically includes directional buttons or a joystick or handlebar. It can also use just mouse-clicks and drags. As the mouse pointer passes over a link (e.g., an elevator button in the scene), that object changes color. If you click on a link, a new document loads: another VRML world, an audio or video document, or a dull, old 2-D Web page. If the VRML viewer comes across a link to a non-VRML data type, it brings up a helper application.

Hunger for World Power

VRML is definitely not for the fainthearted CPU. Animated 3-D scenes are heavy computing applications, even if you're not fussy about photo-realistic rendering. If you have insufficient computing power, you should expect to see sluggish navigation, stuttering frames, and artifacts (e.g., jagged edges).

Developers can use a few VRML features to lessen these performance horrors. For example, VRML's point of view is a camera. Normally, as you navigate through a VRML scene, you move the camera around--which is a compute- and bandwidth-intensive process. So, often a world's creator will define vista points--predefined viewpoints that you can jump to directly--to speed motion to important points of view.

Another trick is to vary the level of detail. If you're far away from an object, you don't need the same level of detail as you would if you're close to it. The VRML definition cleverly uses this opportunity for optimization by employing a nested format for objects. The level of detail (LOD) feature switches between different representations of an object autom atically, from low to high detail, depending on how close the object is.

Even with these tricks, it makes sense that Silicon Graphics is big on VRML: Virtual reality and 3-D rendering still work best on high-end graphics workstations. For the rest of us, a 100-MHz Pentium machine with 32 MB of memory and Windows acceleration hardware or a Power Mac will do.

Ample bandwidth is a necessity. Even though VRML describes 3-D objects efficiently, a complex scene has many polygons, and textures require much data. Some experts suggest that ISDN is the minimum to explore the 3-D Web seriously. Unless you enjoy watching virtual grass grow, a 28.8-Kbps modem is the minimum.

Worlds to Come

Future VRML objects will know about physics, for animation and user interaction. You will be able to rearrange the furniture or bounce a ball. Apparently, VRML developers are contemplating using Sun Microsystems' Java programming language, which down loads small applets, to execute functions. Future VRML will also support video and sound data streams, both ambient and tied to specific objects.

After all that comes user-user interaction. Researchers at the German National Research Center for Information Technology are developing a multiuser extension to VRML. It will control how and when users appear to others in a virtual environment.

IBM is also getting involved, although it's been vague in its statements. In August 1995, IBM announced a VRML extension called VRML+. According to IBM multimedia director Willie Chiu, it will make "a lot more services available." So far, the impact of IBM's initiative has not been apparent.

Where To?

It's not as if VRML viewers are going to replace existing HTML-based Web browsers. HTML will remain the standard for text pages with hyperlinked graphics and text. Is it true then that VRML brings us the Web without the interface? Not exactly. Walking or flying through a scene might be more natural than scrolling through a Web page, but you still have to learn how. Also, authoring tools are complex to use.

So what is it good for? As a new medium within a new medium, it's difficult to predict. Initially, Web sites will probably use it as they use RealAudio and ShockWave--for extra glitz. But it can do far more. Already, architecture and industrial-design firms are using VRML to construct static models to display to customers and the general public. Some companies are experimenting with using 3-D effects to aid in navigation around their Web sites. And it won't be long before we see sites using moving 3-D representations of dynamic data.


WHERE TO FIND


Caligari Corp.

Mountain View, CA
Phone:    (800) 351-7620 or (415) 390-9600
fax:      (415) 390-9755
Internet: 
http://www.caligari.com


Intervista Software

San Francisco, CA
Phone:   (415) 648-2749

Paper Software

Woodstock, NY
Phone:   (914) 679-2440
fax:     (914) 679-4123

ParaGraph International

Campbell, CA
Phone:    (408) 364-7700
fax:      (408) 374-5466
Internet: 
http://www.us.paragraph.com


Silicon Graphics, Inc.

Mountain View, CA
Phone:    (800) 800-7441 or (415) 960-1980
fax:      (415) 961-0595
Internet: 
http://www.sgi.com


Strata, Inc.

St. George, UT
Phone:
    (800) 869-6855 or (801) 628-5218
fax:      (801) 628-9756
Internet: 
http://www.strata3d.com


Virtual Presence, Ltd.

London, U.K.
Phone:    +44 171 252 2922
Fax:      +44 171 237 1360

Virtus Corp.

Cary, NC
Phone:    (800) 847-8871 or (919) 467-9700
fax:      (910) 460-4530
Internet: 
http://www.virtus.com


HotBYTEs
 - information on products covered or advertised in BYTE


VRML Sample Code

illustration_link (43 Kbytes)

This code provides a test for level of detail (LOD) for a very strange, imaginary object. From far away, it looks like a cone (LODCONE.PCX). From the middle distance, it looks like a bumpy sphere (LODSPHER.PCX). From close up, it looks like a cube (LODCUBE.PCX).


Rearrange Your Furniture Without Lifting a Finger

screen_link (35 Kbytes)

ParaGraph International's Virtual Ho me Space Builder lets you build, view, and navigate 3-D scenes in VRML.


Udo Flohr is a BYTE contributing editor based in Hannover, Germany. To reach him on the Internet, send E-mail to flohr@dfn.de .

Up to the Features section contentsGo to next article: A World with a ViewSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network