EVALUATION OF VRML FOR MODELING VIRTUAL WORLDS

Similar documents
Topics. Overview of VRML 97 VRML Today After VRML

2.5 Animations. Applications. Learning & Teaching Design User Interfaces. Content Process ing. Group Communi cations. Documents.

2.5 Animations. Contents. Basics. S ystem s. Services. Usage. Computer Architectures. Learning & Teaching Design User Interfaces.

Introduction to X3D. Roberto Ranon HCI Lab University of Udine, Italy

Einführung in die Erweiterte Realität - 4. VRML - Gudrun Klinker Nov 11, 2003

Learning to Provide Modern Solutions

Using The EAI The process of using the EAI is best understood through example. Simplifying a bit, the overall process goes as follows:

move object resize object create a sphere create light source camera left view camera view animation tracks

LATIHAN Identify the use of multimedia in various fields.

VRML PROGRAMS FOR ROOM VENTILA non APPLICA nons

Objectives. Introduction to HTML. Objectives. Objectives

o MAC (6/18 or 33%) o WIN (17/18 or 94%) o Unix (0/18 or 0%)

Web Design and Development ACS-1809

V. THREE-DIMENSIONAL REAL-TIME COMPUTER GRAPHICS

Open GL Framework For A Computer Graphics Course

Developing a Basic Web Page

Internet. Class-In charge: S.Sasirekha

Adaptive Point Cloud Rendering

ISO/IEC/Web3D Status Report

Shadows in the graphics pipeline

White Paper: Delivering Enterprise Web Applications on the Curl Platform

Creating a Course Web Site

Tennessee. Trade & Industrial Course Web Page Design II - Site Designer Standards. A Guide to Web Development Using Adobe Dreamweaver CS3 2009

X3D - Texture, Material Properties, Artificial Light Models -

CS 465 Program 4: Modeller

8/19/2018. Web Development & Design Foundations with HTML5. Learning Objectives (1 of 2) Learning Objectives (2 of 2) Helper Applications & Plug-Ins

New Media Production week 3

University of Westminster Eprints

Glossary. advance: to move forward

Grouping Nodes. X3D Graphics for Web Authors. Chapter 3

A Basic Guide to Modeling Landscapes in Google SketchUp

Getting Started. Most likely, if you ve purchased a copy of Adobe Flash CS3 Professional, Introducing Adobe Flash CS3 Professional 3

AN INTERACTIVE LAND USE VRML APPLICATION (ILUVA) WITH SERVLET ASSIST. Lee A. Belfore, II Suresh Chitithoti

EXPLORE MODERN RESPONSIVE WEB DESIGN TECHNIQUES

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz

Introduction to Bioinformatics

Introduction to Bioinformatics

Educational Fusion. Implementing a Production Quality User Interface With JFC

Publishing Electronic Portfolios using Adobe Acrobat 5.0

3D PDF Plug-ins for Autodesk products Version 2.0

The Internet The Internet

Introduction to Information Technology Turban, Rainer and Potter John Wiley & Sons, Inc. Copyright 2005

On Design of 3D and Multimedia Extension of Information System Using VRML

Free download powerpoint. Site Tools. Search for. Translate site English to Spanish Go

INTERNET-BASED COMPUTER-AIDED DESIGN: LEVERAGING PRODUCT MODEL, DISTRIBUTED OBJECT, AND WORLD WIDE WEB STANDARDS

Multimedia Signals and Systems Virtual Reality and VRML

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

SMK SEKSYEN 5,WANGSAMAJU KUALA LUMPUR FORM

Audio,Video & Lighting

This guide will show you how to create a basic multi-media PowerPoint presentation containing text, graphics, charts, and audio/video elements.

BETWEEN PHOTO-REALISM AND NON-PHOTO REALISTIC RENDERING MODELING URBAN AREAS FOR REAL TIME VR

Using RADIUS Site Models without the RCDE

How to create interactive documents

Graphics File Formats

The Use of Virtual Reality in Virtual Learning Environment

Unit 4 The Web. Computer Concepts Unit Contents. 4 Web Overview. 4 Section A: Web Basics. 4 Evolution

The Next Step. DPS Adobe Digital Publishing Suite. Apple cofounder Steve Jobs stated in a 1983 speech

Internet: An international network of connected computers. The purpose of connecting computers together, of course, is to share information.

Using this tutorial, you will create a Web page for a fictional foundation. The tutorial is divided into the following parts:

On the Web sun.com/aboutsun/comm_invest STAROFFICE 8 DRAW

Fundamentals of STEP Implementation

Chapter 3: Google Penguin, Panda, & Hummingbird

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.

Introduction to Virtual Environments - Spring Wernert/Arns. Lecture 4.2 Animation & Interaction

CS474 MULTIMEDIA TECHNOLOGY

1D CIW: Web Design Specialist. Course Outline. CIW: Web Design Specialist Apr 2018

Getting Started with ShowcaseChapter1:

Virtual Reality Modeling Language

Interactive Multimedia. Multimedia and the World Wide Web

Seng310 Lecture 8. Prototyping

Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03

Basic Internet Skills

Chapter 1- The Blender Interface

CIW: Web Design Specialist. Course Outline. CIW: Web Design Specialist. ( Add-On ) 16 Sep 2018

HOW TO CONDUCT A VIRTUAL CONFERENCE IN SECOND LIFE. and make your team meetings more interesting

Working with Confluence Pages

MPEG-4 AUTHORING TOOL FOR THE COMPOSITION OF 3D AUDIOVISUAL SCENES

Spatial Data Structures

Interactive Media CTAG Alignments

CH#1 Multimedia: interactive multimedia hypermedia. multimedia project. Multimedia title. linear, or starting nonlinear authoring tools

Hypertext Markup Language, or HTML, is a markup

Impress Guide Chapter 1 Introducing Impress

<Insert Picture Here> JavaFX Overview April 2010

Basic Internet. Basic Internet

Introduction to the Internet and World Wide Web p. 1 The Evolution of the Internet p. 2 The Internet, Intranets, and Extranets p. 3 The Evolution of

VRML for Visualization

A novel approach in converting SVG architectural data to X3D worlds

COMS 359: Interactive Media

POWERPOINT Add the Pizzazz to Your Presentation

InDesign UX Design Patterns. by Justin Putney

Using Development Tools to Examine Webpages

A new clients guide to: Activating a new Studio 3.0 Account Creating a Photo Album Starting a Project Submitting a Project Publishing Tips

Managing Your Website with Convert Community. My MU Health and My MU Health Nursing

VRML FOR URBAN VISUALIZATION

Adobe Flash is the industry-standard application

Creating Interactive Procedures and Training Courses

Streaming Massive Environments From Zero to 200MPH

SAS Data Integration Studio 3.3. User s Guide

BSc Computing Year 3 Graphics Programming 3D Maze Room Assignment Two. by Richard M. Mann:

These are exciting times for Macintosh users. When Apple unleashed Mac

Transcription:

ABSTRACT EVALUATION OF VRML FOR MODELING VIRTUAL WORLDS By Chen Zhao The purpose of this study is to experience creating 3D virtual scenes in World Wide Web using Virtual Reality Modeling Language (VRML), to explore the status of VRML development, and to research the applicability and potential of VRML. This thesis introduces the VRML language basics, reviews VRML development and supporting tools, and discusses the advantages and disadvantages of VRML and its future. VRML allows the users to control the interactions between the user and a 3D graphic model. It can be used in applications such as recreating a historical site or constructing chemistry molecules. However a lack of wide spread efficient business use of VRML has slowed its development. At the present stage, more sophisticated authoring tools along with high-speed computer and high-speed network resources are needed before VRML will become more widely used on the Internet.

EVALUATION OF VRML FOR MODELING VIRTUAL WORLDS A Thesis Submitted to the Faculty of Miami University in partial fulfillment of the requirements for the degree of Master of Sciences Department of Computer Sciences and System Analysis by Chen Zhao Miami University Oxford, Ohio 2000 Advisor Dr. Douglas Troy Reader Dr. Stanley Toops Reader Dr. Mike Zmuda

Table of Contents 1. Introduction 1 1.1 Definitions of VRML 1 1.2 Description of VRML 1 1.3 History of VRML 2 2. VRML Related Technologies 5 2.1 Requirements For Viewing a VRML World 6 2.2 Tools For Creating VRML Scenes 7 3. VRML Language Specifications 8 3.1 Major Features of VRML 97 8 3.2 VRML 97 Language Basic Structure 9 4. Project Constructions 16 4.1 Front Gate of A Famous Xinjiang Muslim Mosque 17 FRONTGATE.wrl 4.2 Mean Building of The Mosque -- NewMain.wrl 18 4.3 A Tree Graphic -- Tree-Proto.wrl 20 4.4 A Modeling Temple -- ANItemple.wrl 21 4.5 Using VRML Authoring Tool V-Realm Builder 22 4.6 Improving the Worlds Performance 24 5. VRML Analysis 25 5.1 Expectations of VRML 26 5.2 The Potential of VRML 26 5.3 Limitations of VRML 28 5.4 Current VRML applications 29 5.5 Author s Experience and Evaluation 31 5.6 The Future Improvements of VRML 32 6. Summary 33 References 35 ii

1. Introduction 1.1 Definitions of VRML The Virtual Reality Modeling Language (VRML) is a file format for describing interactive 3-D objects and worlds. VRML is designed to be used on the Internet, intranets, and local client systems. VRML is also intended to be a universal interchange format for integrated 3-D graphics and multimedia. (VRML97 Specifications -- http://www.web3d.org/specifications/ RML97/part1/ introduction.html) According to Silicon Graphic Inc. (SGI), VRML is pronounced vur'mel (Silicon Graphic, Linda Von Schweber and Erick Von Schweber). 1.2 Description of VRML VRML defines the layout and content of a 3-D world with links to more information. VRML is not a general purpose programming language like C++, a script language like JavaScript or a markup language like HTML. It is a modeling language (scene description language) that demonstrates the geometry and behavior of a 3-D scene. A VRML file does not have to be compiled from source code, linked into an object module, and then run. Instead, VRML files are parsed, rendered, and finally displayed by a Web browser (Walter Goralske, Matthew Poli and Peter Vogel, 1996; Jed Hartman, Josie Wernecke, 1996). A 3-D object created using the VRML format or a group of such objects is generally called a world or a scene. A VRML file is a plain ASCII text file. It can be created, viewed, and edited in any plain text editor. VRML files usually reside on a Web server. They are transferred to a browser for viewing via the Hypertext Transfer Protocol (HTTP) on the Web. VRML worlds usually end with the file extension.wrl. When a web user accesses a URL ("Uniform Resource Locator") which contains a VRML world, the ASCII text file containing the VRML codes is downloaded into the user s Web browser. The MIME (Multipurpose Internet Mail Extensions) type for VRML documents is model/vrml. Alternatively, it can be x- 1

world/x-vrml (Floppy s VRML Guide, http://www.vapourtech.com/vrmlguide/index.html). One must have a VRML browser or a plug-in to view the VRML worlds on the Web. When an VRML-enabled browser contacts the file extension of.wrl, it displays the world that is described by the file on the screen. On the server side, a VRML world may be distributed across different servers at different locations. Besides polygons and 3-D items, a VRML node can contain images or sound data. A VRML page can also include links (which are called anchors) to other VRML documents or HTML documents. A VRML object (or part of an object) can link to any other item on the Internet or in conjunction with many other languages and file formats (Udo Flohr, 1996). VRML files use a nested-object representation, sending the overall picture information first and the details later. The VRML scenes and objects are first displayed as a rectangle with the detail increasing as more information arrives. Therefore, the user can start navigating (read the text/go through the available links) while the browser is loading the details. When the object is completely loaded, a VRML world viewer can zoom close to the object, turn the object over, or explore the world from any angle he/she wants. 1.3 History of VRML Work on VRML began in 1994 and continues today. This section presents the history of VRML and the organizations that have promoted it. First International Conference: In May 1994 in Geneva, Mark Pesce and Tony Parisi were invited by Web creator Tim Berners-Lee to present a paper at the First International Conference on the World Wide Web. They brought their ideas, a virtual-reality interface to the Web, to a scheduled Birds-of-a-Feather (BOF) session and found an enthusiastic audience. The BOF group decided to develop a scene- 2

description language that could be used in conjunction with the Web. The term VRML, determined at the BOF meeting, originally stood for Virtual Reality Markup Language. The word Markup was later changed to Modeling for accuracy (Jed Hartman and Josie Wernecke 1996, VRML Consortium). Mark Pesce s book, VRML---- Browsing and Building Cyberspace (New Riders Publishing), was described as a definitive book on the state of VRML today (David E. Y. Sarna and George J. Febish, 1996) and a ground-breaking book (Udo Flohr, 1996). Electronic Mailing List: Mark Pesce and Brian Behlendorf of Wired magazine set up an electronic mailing list to facilitate discussion of the specification for VRML right after the conference. During its first week of life, the list grew to include over a thousand members. The list membership quickly agreed upon a set of requirements for VRML: platform independence; extensibility; and the ability to work over lowbandwidth (14.4 kbps modem) connections (Jed Hartman and Josie Wernecke 1996, VRML Consortium). VRML 1.0: There was general agreement that adapting an existing modeling language would be easier than creating an entirely new one. Silicon Graphics proposal won the vote, which meant that VRML would be based on a modified subset of the Open Inventor 3-D Metafile format, with appropriate additions to handle networking. At the 2 nd WWW conference in October 1994, the VRML 1.0 draft specification was unveiled. This version allowed a user to create static 3-D worlds. Objects in the world could be hyperlinked to other worlds, as well as the HTML documents (Jed Hartman and Josie Wernecke, 1996). VRML Architecture Group: Some of the leading technical experts on the VRML mail list then formed the VRML Architecture Group (VAG)(http://vag.vrml.org/) around the summer of 1995. The VAG's goal was to continue the technical evolution of the specification according to the consensus-based requirements of the VRML community (Rikk Carey, George S. Carson and Richard F. Puk). 3

SGI Moving Worlds Proposal: In December 1995, the VAG decided to issue a request-for-proposals for VRML 2.0. A number of proposals for VRML 2.0, including the Moving Worlds proposal from SGI, HoloWeb from Sun Microsystems, ActiveVRML from Microsoft, Out of This World from Apple, and others were reviewed by the VRML community. Moving Worlds from SGI had received over 70 percent of the votes in February. In March of 1996, the VAG decided that the Moving Worlds proposal would officially become the working document for VRML 2.0 (VRML Consortium, Jed Hartman and Josie Wernecke, 1996). VRML 2.0: The release of the VRML 2.0 specification was announced at Siggraph 96, the preeminent 3-D graphics technical conference, in New Orleans. This event marked the beginning of focusing on content rather than further improvements to the specification (Chris Marrin, Bruce Campbell, 1997). In this version, objects inside a world can move and can respond to both time-based and user-initiated events. New features included enhanced static worlds, interaction, animation and behavior scripting, and prototyping new VRML objects (Jed Hartman and Josie Wernecke, 1996). VRML Consortium: The Consortium Working Group (CWG) was formed following the VRML Consortium meeting at Siggraph in August 1996. Thirty-five leading Internet companies formed the VRML Consortium, Inc. as a nonprofit corporation at the end of 1996. The VRML Consortium took over the responsibilities of promoting VRML technology from the VRML Architecture Group. The consortium was formed with the charter to make three-dimensional technology an essential component of the Web. Rikk Carey, co-author of the VRML 2.0 specification, acted as the new group's interim president (Joe McGarvey, VRML consortium). VRML 97: Cooperation between CVG and Joint Technical Committee 1 (JTC 1) began in late 1995. The two sides jointly worked on the International Standard version of VRML and made the changes that were necessary to create a document of sufficient quality to serve as an Committee Draft (CD) of International Organization 4

for Standardization and the International Electrotechnical Commission (ISO/IEC). The ISO/IEC CD ballot closed in December of 1996. The Draft International Standard (DIS) was posted on the Web on April 6, 1997. By the end of 1997, the VRML 97, the final International Standard (IS) text was published by both the VRML Consortium and ISO/IEC. The IS document is known as VRML 97 specification and part 1 of ISO/IEC 14772-1:1997. The full title of this part of the International Standard is: Information technology -- Computer graphics and image processing -- The Virtual Reality Modeling Language (VRML) -- Part 1: Functional specification and UTF-8 encoding (http://www.web3d.org/specifications/vrml97/part1/introduction.html). Web3D Consortium: Web3D Consortium is the former VRML consortium. In 1999, the group changed to its current name (History of the Web3D Consortium, http://web3d.org/fs_aboutus.htm). The Web3D Consortium represents all aspects of 3D technologies on the Internet today. VRML Today: VRML 97 is the current version of VRML specification. Web3D Consortium is developing Extensible 3-D (X3D) specification, which is extending VRML 97, using the Extensible Markup Language (XML). The compatibility of X3D with VRML 97 will be achieved by having a VRML 97 profile for X3D that provides all the functionality of a standard VRML 97 browser. Web3D Consortium s road map for X3D is to merge VRML 97 and X3D in year 2002 (Extensible 3-D (X3D) FAQ, http://www.web3d.org/taskgroups/x3d/faq). 2. VRML Related Technologies This section describes the hardware/software requirements for viewing VRML 3- D images, and the tools for creating VRML files. 5

2.1 Requirements for Viewing a VRML World Hardware: 100-MHz Pentium machine with 32 MB of memory and Windows acceleration hardware or a Power Mac (Udo Flohr, 1996). Win95, WinNT, IRIX(SGI) capable computer, 16 Megabytes of memory are the Minimum Requirements. Since VRML 2.0 is scaleable, the more powerful a computer, the better the display (Silicon Graphic, Inc.). Network Connection: Bandwidth: A 28.8-Kbps modem is the minimum, while some experts suggest that ISDN is the minimum to explore the 3-D Web seriously (Udo Flohr, 1996, Silicon Graphic). Software: A VRML enabled web browser or Plug-in needs to be installed on a computer for viewing VRML worlds. There are some stand-alone VRML browsers that can view and manipulate VRML worlds with development kits such as Open Worlds, JVerge, WorldView for Developers, and Open Inventor. While different browsers may support some particular VRML features, there are not many discussions from experts about which browser is the best for viewing VRML so far. A list of VRML browsers and the platforms they can run on is available at VRML repository (http://www.web3d.org/vrml/browpi.htm). About.com's VRML97 Browser Datasheet (http://vrml.about.com/compute/vrml/library/weekly/aa070698.htm) provides comparative analysis on some VRML borwsers. However, instead of having special VRML runable web browers, it is more common to use VRML plug-ins to view VRML on the most commonly used web browsers. Plugins use the facilities provided by web browsers to display VRML worlds. Many versions of web browsers come with a VRML plug-in pre-installed. The most commonly used 6

browsers are Netscape Navigator (2.0 or above) and Microsoft Internet Explorer (3.0 or above). The two most popular VRML plug-ins that go with these two browsers are WorldView, also called Microsoft VRML, for Microsoft Internet Explorer and Cosmo Player for Netscape (Oliver Rist, Aug. 1999). 2.2 Tools for Creating VRML Worlds Although a simple VRML file can be created using a text editor or word processor, VRML authoring tools are practical. A suggested site for these resources is: http://www.sdsc.edu/vrml/software/modelers.html (Jed Hartman and Josie Wernecke, 1996). There are also many free modelers at http://home.hiwaay.net/~crispen/vrmlworks/model_obj.html#free VRML authoring tools allow users to create worlds and visualize information in more intuitive and exciting ways. The authoring packages provide special support for VRML files, including support for level_of_detail (LOD) nodes, anchor nodes, and inline node. Editors' Choice of PC Magazine identified the following world builders in 1997 (PC Magazine PC Magazine Editors' Choice, 1997): V*Realm Builder. Of the products that PC Magazine reviewed, V*Realm Builder from Integrated Data Systems best met the purpose of facilitating the production of attractive worlds that will download quickly and render faithfully. V*Realm allows developers direct control over the scene graph to optimize the world and take full advantage of all the features in VRML 1.0. Virtus 3-D Website Builder. Virtus 3-D Website Builder was honored by PC Magazine s editor. The builder makes a great introduction to VRML for anyone, and it provides the most fun and created the least frustration of any builder (ZDNet 3-D, 1997 ). 7

3. VRML Language Specifications VRML worlds are constructed using nodes, events, sensors, colors, and other VRML techniques. The basic VRML language features and world constructions will be described below. 3.1 Major Features of VRML 97 3.1.1 Hierarchy of Nodes: VRML files describe 3-D worlds using a hierarchical structure. Entities in VRML worlds are nodes. VRML 97 defines 54 different node types, including geometry primitives, appearance properties, sound and sound properties, and various types of grouping nodes. Nodes store their data in fields, and VRML 97 defines 20 different types of fields that can be used to store everything from a single number (the SFFloat field type) to an array of 3-D rotations (the MFRotation field type). Nodes can be nested inside one another. A hierarchy of nodes sometimes is referred to as the Scene Graph (Rikk Carey, Gavin Belll, 1997). 3.1.2 Event: The event mechanism defined in VRML 97 enables nodes in the scene graph to communicate with one another. Each node type defines the names and types of events that instances of that type may generate or receive. ROUTE statements define event paths between event generators and receivers. 3.1.3 Sensors: The TimeSensor node generates events as time passes and is the basis for all animated behaviors. Other sensors are the foundation for all user interactions, generating events as the viewer moves through the world or when the user interacts with some input device. Sensors only generate events; they must be combined with other nodes via ROUTE statements to have any visible effect on the scene. 3.1.4 Colors and measurements: The color model in VRML is RGB. In order to define a color three values are needed: Red, Green, and Blue. These values are between 0.0 and 1.0. For instance 0.0 0.0 0.0 is Black, 0.0 0.0 1.0 is Blue, and 1.0 1.0 1.0 is White. 8

The units in VRML are assumed to be meters. The angles in VRML are measured in radians, as opposed to degrees. 3.1.5 Scripts: Script nodes can be inserted between event generators and event receivers. Scripts allow the world creator to define arbitrary behaviors, defined in any supported scripting language. The VRML 97 specification defines Script node bindings for the Java and JavaScript languages. The Interpolator node is essentially a built-in Script that performs simple animation calculations. 3.1.6 Prototyping: The PROTO statement provides a mechanism for encapsulating and reusing a scene graph. Prototyping allows the definition of a new node type in terms of a combination of existing node types, which can make VRML easier to use and can reduce the size of VRML files. 3.1.7 Distributed Scenes: The Inline node allows the inclusion of another VRML file stored anywhere on the Web and the EXTERNPROTO statement allows new node definitions to be fetched from anywhere on the Web. 3.1.8 Object Oriented Language: VRML is an object-oriented language. Each node is an object, and VRML files allow for any number of instances of the nodes (i.e. Shape nodes). Nodes can be nested. Each child node shares the properties of its parents. For instance, a group of shape nodes share the same location and scales as the Transform parent node. DEF and USE statements make the reuse of the named objects (any type of node) very easy. 3.2 VRML 97 Language Structure VRML files are ASCII texts that consist of VRML code. This section presents an over view of that code. 3.2.1 Comments and Version: All VRML files start with the header line: 9

#VRML V2.0 utf8 Any line that starts with a # character in a VRML file is a comment, and is ignored by the VRML enabled browser. The first line is an exception, and is read by a browser. V2.0 indicates the version and UTF8 is an encoding scheme to enable international character display (text string standard). VRML 1.0 had either ASCII or UTF8, but version 2 has only UTF8. 3.2.2 Nodes and Fields: A VRML world is made up of nodes, which are types of objects. The fields inside these nodes are properties of the object. Fields can be anything from a size of a box to another node inside the first. VRML has the following major node types: shape, grouping, appearance, billboard, collision, LOD, light, Inline, Anchor, and PROTO. All visible objects are defined inside a Shape node. This node has two fields: appearance and geometry. The appearance field specifies an Appearance node, which is used to define color, textures and so on to be applied to the geometry. Defining the appearance field is optional. If nothing is specified in this field, the default values will be used. The texture field of the Appearance node can be texture-map objects. The geometry field indicates which shape is to be drawn. The value for the geometry field may be any of the following nodes: Box, Cone, Cylinder, ElevationGrid, Extrusion, IndexedFaceSet, IndexedLineSet, PointSet, Sphere, and Text. A Material node can contain any of the following six fields: diffusecolor, specularcolor, emissivecolor, ambientintensity, shininess, transparency. Example 1 shows a simple Shape node definition for a glowing semi-transparent green colored box. 10

Example 1. Defining a glowing semi-transparent green colored box Shape { appearance Appearance { material Material { emissivecolor 0 0.8 0 transparency 0.5 geometry Box { A group node can be placed inside groups, which will create a hierarchical structure of nodes. A group node can have any number of child nodes inside the children field. VRML provides the following grouping nodes: Anchor, Billboard, Collision, Group, Switch, and Transform. The Transform node defines a new coordinate system so that an object can be placed in locations other than the origin. The shape nodes are placed at their default (x=0, y=0, z=0, or world origin). Placing a Shape node into a Transform node and defining the translation field in the node will translate the Shape node to a certain position in a VRML scene. The children field can contain any number of nodes. All the nodes under the children field will move along with the parent Transform node. Example 2 is a box moved 5 units to the right from the origin. Example 2. A box moved 5 units to the right from the origin Transform { translation 5 0 0 children [ Shape { appearance Appearance { material Material { geometry Box { ] 11

A Group node merely groups other nodes together. It has a children field, which can contain other nodes. Therefore, nodes can be nested inside one another in this way. Example 3 shows a scene with a ball, and square on the right side of the ball in a Group node. Example 3. A scene with a ball, and a square on the fight side of the ball in a Group node Group { children [ Transform { translation 5 0 0 children [ Shape {... geometry Box { ] Transform { translation 0 0 0 children [ Shape {... geometry Sphere { ] ] # end of Group children A Billboard node modifies its coordinate system so that it can face any direction along an axis at all times. This allows all the objects grouped in the billboard to be visible to the viewer at all times. A Collision node allows browsers to detect geometric collisions between the user s movement and the scene s geometry. It can prevent the user from entering the geometry. A Level of Detail (LOD) node defines various levels of detail or complexity for an object, so that the browsers can automatically select the appropriate version of the object based on the distance from the user. Browsers only display detailed objects when a user browses within a specified range. file. The Inline node takes the data from an external file and inserts it into a VRML 12

An Anchor node enables people to navigate between pages as in HTML (VRML is intended to be used in a distributed environment such as the World Wide Web). The Anchor node is activated whenever one of its children is clicked, and opens up the page specified in URL. The description field of the node contains a piece of text that appears in the browser when the mouse is over the hyperlink. There are several light nodes in VRML such as DirectionalLight, PointLight, and SpotLight. A DirectionalLight node shines from a uniform direction like a set of parallel rays. This light has no defined location, only a direction. It gives an effect like the sun. The DirectionalLight node is a point-light, which brightens everything around it, with the light spreading equally in all directions. The SpotLight defines a spotlight. All light nodes have the fields of color, ambientintensity, and intensity. The DirectionalLight node has both location and direction fields. The SpotLight node also has a location field. A PROTO node allows VRML authors to specify their own nodes. Like any other node, a PROTO can have all the regular fields. 3.2.3 Object Reuse in VRML: DEF / USE -- In VRML, there are oftentimes many identical objects. To avoid writing in many objects of exactly the same type, VRML use DEF and USE command to reuse previous definitions. For instance, if the box definition Shape {... geometry Box { in previous Example 6 is changed to DEF BOX1 Shape {... geometry Box {, then a VRML constructor would be able to instantiate BOX1 (creates a same type of box as defined in BOX1) by using USE BOX1. The DEF / USE pair can be applied to any type of Nodes in VRML. 3.2.4 An Illustration of Basic VRML Structures: The case study in this thesis, temple world, uses a pillar, as shown in Figure 3.1. Figure 3.1 A pillar used in the temple world. 13

The code for this scene is: #VRML V2.0 utf8 Standard header: # -- comment in VRML file. The 1 st line is an exception. It s for browsers to read. VRML tell browser that it is reading a VRML file V2.0 VRML version utf8 allows use of international characters DEF Pillar Group { A Group Node: Group a node type for grouping nodes Pillar the name of the Group Node DEF define a name for the group node for reusing the node in the future { -- everything included in the matching will be treated as one entity children DEF PILLARXFORM Transform { translation 0 1.3407 0 children [ DEF SHAFT Shape { A Transform node allowing a group of nodes (everything in children [] ) to move together 1.3407 units along Y axis A Shape node contains geometry descriptions / definitions. appearance Appearance { material Material { Material node contains 4 fields to describe the surface appearance of geometry. geometry Cylinder { height 6 radius 0.5 top bottom ambientintensity 0.2 transparency 0 shininess 0.2 diffusecolor 0.61 0.441377 0.240494 FALSE FALSE DEF PilarTopBoxXFORM Transform { translation 0 3.2 0 children Shape { appearance Appearance { material Material { ambientintensity 0.2 transparency 0 shininess 0.2 diffusecolor 0.61 0.441377 0.240494 geometry Box { A geometry node with 1 array field. size 2 0.35 2 DEF PilarBtmBoxXFORM Transform { translation 0-6.2 0 A geometry node with 4 fields to define the shape of the geometry. Cylinder is a VRML keyword. Define the top and the bottom of the cylinder to be empty to saving the rendering time. The center point of the box will move to 3.2 unit place on the Y-axis established by the Cylinder. Use a Transform node to move the bottom box. The translation field makes the box move down to -6.2 units place on Y-axis. children USE PilarTopBoxXFORM Children the following is a child of the PilarBtmBoxXFORM Transform node. USE a node indicates reuse of an existing node PilarTopBoxXFORM exactly same definition of it will be used in this transform node. ] All the nodes above this line are the children of the Pillar Group. Closing the Pillar Group node complete the whole entity. 14

3.2.5 VRML 1.0 vs. VRML 2.0 / VRML 97 VRML 1.0 worlds are static. The file starts with #VRML v1.0 ASCII. VRML 2.0 worlds can move and interact with the visitor to those worlds. The file starts with #VRML v2.0 utf8. Table 3.1 is the summary of basic differences between the two. Table 3.1 Summary of VRML 1.0 and 2.0 Features. Versions Features VRML 1.0 Standard objects (cube, sphere, cone, cylinder, text) Arbitrary objects (surfaces, linesets, pointsets) Ability to fly through, walk through, examine scenes Lights Cameras (viewpoints) Textures on objects Clickable links Define and reuse objects VRML 2.0 All VRML 1.0 features plus Animated objects Switches Sensors Scripts (Java or JavaScript) for behaviors Interpolators (color, position, orientation, etc) Extrusions Background colors and textures Sound (.wav and MIDI) Animated textures Event routing Define and reuse objects and behaviors and effectively add new nodes to the language with PROTO and EXTERNPROTO 15

VRML 97 is an international specification approved by the International Organization for Standards, while VRML 1.0 is not. VRML97 is practically identical to VRML 2.0. But there were several working draft specs developed between 1995 and the end of 1997. Some of those drafts have small differences from the final spec. (VRMLWorks, comp.lang.vrml FAQ Answers (Http://fly.hiwaay.net/~crispen/vrmlworks/ faq/faq1.html) 3.2.6 VRML language specification web sites: The following sites describe the three VRML versions. VRML 1.0 specification: http://www.web3d.org/specifications/vrml1.0/#language Specification VRML 2.0 specification: http://vrml.sgi.com/moving-worlds/index.html VRML 97 specification: http://www.vrml.org/specifications/vrml97 4. Project Constructions To learn about the potential and limitations of VRML, A web site (http://unix01.eas.muohio.edu/~zhaoc/) based on the topic of the geographical, economical and ethnic information in the Xinjiang 1 Uyguer Autonomous Region (located in North-west China) was created. This web site is used to assist teaching in the Department of Geography at Miami University. The contents of this web site include geographical, economical, cultural data of Xinjiang Autonomous Region. The data formats presented on the Web includes text, digital map, 2-D images and 3-D worlds. There were several VRML worlds constructed in this project for experimenting with different features in VRML (http://unix01.eas.muohio.edu/~zhaoc/html/vrml_site.html). Some experiments with different methods of programming VRML were also conducted. The following section describes these worlds, which include the various aspects of a Xinjiang Muslin Mosque. 1 Xinjiang is a very unique region in China. It contains more than 13 officially recognized ethnic groups. There are many mysterious stories in Xinjiang s past. The Xinjiang Autonomous Region used to be one of the most important trading paths between Asia and Europe, the so called The Silk Road. Today, it is still a place that plays a critical role on China s border trading with the neighboring countries. The beautiful environment, rich history, and various culture groups make this area a very attractive region to anthropologists, historians, economists, geographers, and tourists. 16

4.1 Front Gate of A Famous XinJiang Muslim Mosque FRONTGATE.wrl Major VRML features applied in this world are: a. VRML color b. structure orientation c. construction precision d. complex shape nodes -- Extrusions e. lights f. Group g. Transform h. Navigation Headlight In the world is the Front gate, shown in Figure 4.1. Transaction nodes are used to align the geometry precisely for constructing the gate. The Headlight attribute in Navigation node is set to TRUE to utilize the default headlight in browser. The extrusion node is used for constructing most parts of the tower. Using a browser and a plug-in, a user can view the gate from different angles at predefined viewpoints, which are programmed in FRONTGATE.wrl. A user can also browse anywhere of the gate using the tools provided by the plug-in. Figure 4.2 shows an example of viewing VRML world in Cosmo player. Figure 4.1 Top view of the gate. Figure 4.2 The tower 17

Figure 4.3 View FRONTGATE.WRL in Cosmo player plug-in 4.2 Mean Building of the Mosque -- NewMain.wrl Additional (to the previous one) major VRML features applied in this world are: i. Relatively larger construction skills j. object reuse (DEF/USE pair) Figures 4.4 and 4.5 show the mosque and illustrate some of the possible views available to users as they move around in a browser. A user can use plug-in tools to walk into the front, back, or side doors to view the main room of the mosque. This world shows that object oriented design in VRML is achieved by using DEF/USE pair commands. The USE command allows the programmer to use a previously defined (by DEF command) object without rewriting the detailed codes. The pillars are designed using Extrusion nodes. All the individual pillars in the left front line (defined as LEFTFRONTPILARS) are instances of the SINGLEPILAR1 object. Then, all the pillar lines are positioned by using Transform nodes and the USE command. 18

Figure 4.4 Front and side views of the mosque. Walk in the front door Right-front door Pillar design Figure 4.5 Rooms and pillar designs of the mosque. Pillar bottom / top design 19

4.3 A Tree Graphic Tree-Proto.wrl Additional (to the previous one) major VRML features applied: k. Complex shape nodes IndexedFaceSet l. Complex grouping nodes Collision, Billboard, LOD, Anchor. m. LOD -- Changing image look with the change of the distance n. Anchor link to http://www.1stresource.com/t/treadoc/ web site o. Proto -- Create a tree object that can be stored as a graphical object node Figuer 4.6 presents a group of 3-D trees created by using some special grouping nodes in VRML (Collision, Billboard, LOD, Anchor). In this VRML world, a single tree is created and is transformed into a user defined primary geometry node by utilizing Porto. The tree object is created under a Collision node to prevent users from entering the geometry during navigation. A high-resolution version of tree for a close look of the tree and a low-resolution version for a distanced view (beyond 20 units) are constructed using LOD (Level of Detail). A browser will render the different version of the tree according to the distance when a user views the tree. The high-resolution version of the tree is constructed under an Anchor grouping node, which allows the children object of the Anchor to be hyperlinked to web site http://www.1stresource.com/t/treadoc/. The low-resolution version of the tree is built under a Billboard grouping node, which makes the tree image always to spin around the Y-axis and face the viewer on the ground. The whole tree object is transformed into a Proto node. Proto allows programmer to extend VRML beyond what is explicitly written in the specification. In this world, a size field is created for this Proto node. Therefore, the tree object becomes a new primitive geometry node that allows programmer to generate a forest by defining the tree sizes. 20

Multiple trees created from Simple appearance Complete appearance -- Prototyping the tree 20 unites away Close view with all the details Figure 4.6 3-D tree images created using prototyping and complex grouping nodes. 4.4 A Modeling Temple -- ANItemple.wrl Additional (to the previous one) major VRML features applied: p. Touch Sensor q. Animation r. Background s. Apply texture to shape node t. Complex shape nodes ElevationGrid Figure 4.7 shows a modeling temple. The temple is built on a green valley that is constructed using ElevationGrid node. The pillars are mapped with textures. The fountain is created using Extrusion node, and the water is created using Indexed face set geometry node. A touch sensor and animation is applied to the water. Therefore, when mouse moved over the water, a user will see a touch sensor icon on the water. If the user click on the water, the sensor will trigger the animation the water will move up and down. Front view Fountain view 21

Right view Left view Figure 4.7 A modeling temple with an animated water fountain triggered by a sensor. 4.5 Using VRML Authoring Tool V-Realm Builder After comparing several authoring tool demos, V-Realm Builder 2.1 produced by Integrated Data Systems, Inc. was used in this project. From my experience, V-Realm is a user friendly, easy to learn, and easy to control software tool. It makes VRML scenes construction much faster, and makes some difficult jobs easy. It is a good tool to use to create mid /small size VRML worlds. A user of V-Realm Builder does not have to know the exact VRML syntax before starting to build a world. However, knowing VRML programming syntax would help in some complex constructions and debugging. Figure 4.8 shows a screen shot from building a simple pillar that was used in temple.wrl. This example illustrates how a pillar is created using the builder. The top box and cylinder were dropped on the View Pane by double clicking on the geometry buttons on the Toolbars. For making the objects reusable, a user can DEF any nodes by modifying the default node names to a meaningful one on the Node Tree window, which is the left pane on the screen. Then, the user can click on the USE button from the Toolbars to reuse the objects that has a user-defined name. 22

Figure 4.8 Creating the pillar in V-Realm builder. A user can expand the Node Tree to modify any field (attribute) of any node (object). When a user clicks on a field, an edit window will pop up. Figure 4.9 illustrates how the bottom box of the pillar got moved down to the correct position. Since the bottom box of the pillar is an instance of the top box geometry, the location of the box is 6.2 units away from the original top box on the Y-axis. Figure 4.9 Define the box location. Figure 4.10 illustrates adjusting lights in the builder for the mosque. The figure shows that V-Realm Builder allows a user to view an object from different angles on the screen at the same time, which makes the work much easier. V-Realm Builder also 23

provides a visualized environment for animation constructing and testing. Figure 4.11 shows the working environment for creating fountain animation in ANItemple.wrl. Figure 4.10 Viewing an object from different angles and adjusting lights in V-Realm Figure 4.11 Using Rout to create fountain animation in ANItemple.wrl 4.6 Improving the Worlds Performance 4.6.1 Using DEF / USE Pairs to Reduce File Size During the constructions, all the objects that can be used in the future were defined with a unique name, so that the USE command can be used as much as possible to simplify the constructing process and to reduce the size of the file. An experimental test 24

was done during the pillar line construction in the mosque scene. With a little USE command in creating pillars, the file size of NewMain.wrl was 95.2 KB. The file size was reduced to 48.4 KB when using a single pillar and instancing it for the rest of the pillars. Figure 4.12 shows the construction of multiple instances of the pillars. Figure 4.12 The construction screen for creating multiple instances of the pillars 4.6.2 Using Gzip File to Reduce Internet Download Time Many VRML developers try to use gzip to compress VRML files before it is delivered over Internet. The Gzipped files reduce file size, and therefore, reduce download time and not the quality of the worlds. A free program for Win9x/NT/2k called Win-GZ is available at http://home.hiwaay.net/~crispen/src/#wingz. A free console application is available at http://www.gzip.org/ I used Win-GZ to zip the mosque VRML scene (NewMain), and the file size ranged from 49 KB down to 6.02 KB. According to some expert s advice, I renamed the zipped file NewMain.wrl.gz to NewMainGzip.wrl. This was necessary because some browsers wouldn t work well when accessing a file with an extension of.gz. The NewMainGzip.wrl was displayed nicely in Netscape browser using the Cosmo Player. 5. VRML Analysis Experts in the field of VRML development were initially very excited about VRML, and thought, VRML represents the seeds of a new Web (Silicon Graphic, Inc. 25

1997). The following predictions were made about the future of VRML several years ago: David E. Y. Sarna and George J. Febish (1996) believed that VRML could prove to be the most compelling Internet technology within the next few years. VRML would have a profound impact on business and an even greater impact on Cyberspace than even the World Wide Web. Walter Goralske, Matthew Poli and Peter Vogel (1996) predicted that eventually, all Web sites would include some degree of 3-D content. There is an important role to play for virtual 3-D worlds in almost every Web site. However, after several years have passed, VRML did not make it into all the Web sites. Instead, to some people, VRML is considered dying. What limited the adoption of VRML? I will look into the questions such as is VRML important, what are VRML s advantages and limitations, and what kind of applications VRML fits in the best. 5.1 Expectations of VRML The article written by Rikk Carey, George S. Carson and Richard F. Puk in 1997 stated the perceived importance of VRML. The authors pointed out that while HTML provides a document-based interface for WWW, VRML enables the next level of interaction, by moving the web beyond the document-oriented paradigm into virtual worlds based on 3-D interactive computer graphics. According to the authors, the major accomplishments of VRML are a) the ability to take graphics from 2-D to 3-D geometric graphics suitable for both 2-D and 3-D interaction and b) VRML is not only a file format that is capable of describing 3-D shape information, but also of describing the interactive behaviors that can be applied to 3-D objects (Rikk Carey, George S. Carson and Richard F. Puk, 1997) 5.2 The Potential of VRML The following are potential features that have been claimed for VRML. 26

3-D graphics: VRML is a revolution on the Web because VRML incorporates the important human ideas of location, place, and architecture into the Web and the Internet. A 3-D world created from VRML is closer to human nature than the 2-D pages (Walter Goralske, Matthew Poli and Peter Vogel, 1996). The VRML world can contain light sources, object materials, effects such as fog, animated images, sounds, and movies to further enrich viewers experience. A VRML world blends 2- D and 3-D objects, animation, and multimedia effects into a single medium (Udo Flohr, 1996, Jed Hartman and Josie Wernecke, 1996) Interactive: Objects in a VRML world can respond to one another as well as to external events caused by the user. The user can reach in to the scene and change elements in it (Jed Hartman and Josie Wernecke, 1996). Different experience: As people explore a part of the real world, each person can have a different experience through a same VRML world. The browser allows the user to explore the VRML world in any way he/she decides. The computer dose not provide a fixed set of choices or prescribe which path to follow. The possibilities are unlimited (Jed Hartman and Josie Wernecke, 1996). It is more exciting. VRML puts the user in control. More important, it s a technique for relating information in an exploratory rather than a fixed fashion. Enter a room; explore what s behind each element. It combines an element of surprise with expectancy (David E. Y. Sarna and George J. Febish, 1996, Jed Hartman and Josie Wernecke, 1996). Infinite screen accesses: When a 2-D image loads on a screen, there are only so many pixels to go around. With 3-D if you need more space you simply move forward, or turn your head. In 3-D you get infinite screen real estate for a finite number of pixels on the monitor (Silicon Graphic, Jed Hartman and Josie Wernecke, 1996). Platform Independent: VRML is not tied to any one hardware or software company. 27

5.3 Limitations of VRML VRML has not yet widely spread out on the Web as people expected several years ago. Many experts agree that performance is a big issue that VRML technology is facing. (Diana P. Mahoney, May, 1999, Eric Beck, July, 1999, John Goddard, June, 1999). As Alan Joch stated, Hardware and chip manufacturers have to do a better job delivering low-cost 3-D enabled products, software developers need to design more 3-D business applications, and IT professionals must overcome some negative preconceptions about 3-D interfaces (Alan Joch, Nov. 1999). Finding business needs is another issue relates to VRML development: There aren t any killer business applications for the technology (VRML). Until someone figures out how businesses could benefit from virtual 3-D world, this technology will never grow beyond a toy (Multimedia Week, 1999). Some limitations of VRML are summarized in this section. High CPU computing power: VRML is definitely not for the fainthearted CPU. Animated 3-D scenes are heavy computing applications. Insufficient computing power will result in sluggish navigation, stuttering frames, and artifacts (e.g., jagged edges). The reason for this is that a complex scene has many polygons, textures, light, and sounds that require much data and therefore requiring high CPU computing power to process it (Udo Flohr, 1996). Massive data passing through the Internet: Unlike HTML, VRML model may requires massive text files. Though, the straight VRML files are actually small, many VRML files are large. This is because of motion capturing data, animation, sound, light, or video that are implemented in the worlds. Therefore, VRML is limited by the speed at which the line can move the massive number of bits to client (Jed Hartman and Josie Wernecke, 1996). VRML file download times can be long, and 100K-300K for a complete download is not unusual (http://mudhole.spodnet.uk.com/~imp/authoring/vrml/advdis.html). 28

Special software for viewing VRML: Special software is required to view VRML worlds. New users can find the interfaces overwhelming. Also, significant variations between browsers can lead to problems in development. High effort in development: VRML technology is far more complex than HTML. A usable 3-D interface requires millions of lines of code and hundreds of man-hours to create. So far, with 3-D technology still in a niche market, the pool of programming talent capable of eye-popping 3-D graphics is small (Alan Joch, Nov. 1999). 5.4 Current VRML Applications VRML has been used in many fields, such as advertising, e-commerce, education/museums, entertainment, news, military/government, movie promotion, page enhancement, technical training, architecture and industrial-design, and science (http://www.frerichs.net/whowherewhat.html, Aug, 1998, http://hiwaay.net/~crispen/vrml/building.html, Bob Crispen, May, 1999). A few interesting examples of VRML worlds are the following: Mars Pathfinder Virtural Reality Models and Animations of the Pathfinder Mission http://mpfwww.jpl.nasa.gov/vrml/vrml.html Allows visitors to view the Mars Pathfinder lander and rover in a realistic environment. Stocksmart Stock chart grapher. http://www.stocksmart.com/ows-bin/owa/vpv. Displays price/volume graph in VRML scenes. CNN - Multimedia page. http://www.cnn.com/specials/multimedia/. Provides 3- D objects such as a hurricane, space shuttle, and crafts from the space race. SportsLine USA SportsLine USA creates applications that combine Java, Shockwave, streaming video and a little VRML to provide interactive sports 29

information on its Web site. Fans can visit SportsLine s VRML-driven 3-D Soccer World. However, the VRML world in this Web site only reaches limited viewers (Andrew Mariatt, June 1999). Lockheed Martin Virtual Environments for Shipboard Training. http://vet.parl.com/~vet/iships/iships_toc.html Provides a virtual environment training (VET) system for engineering models. The developers of the system used some tools to translate CAD to VRML. NCSA - Astronomical Digital Image Library. http://adil.ncsa.uiuc.edu/vrmlhighlights.html. The Astronomy Digital Image Library is experimenting with VRML previews of 3-D images. It helps to visualize the activities in galaxies. VRML in Biology -- http://verbena.fe.uni-lj.si/~tomaz/vrml/. Visualizations of biological structures and processes, concentrates on cell structures and physiology. Jane Vadnall's and Jeffrey Jacobson's Tomb of Lady Hao -- http://www.sis.pitt.edu/~goshen/net-hao/. Displays and describes archaeological remains from 3000 years ago well. The British Museum of Natural History's fossils http://www.nhm.ac.uk/museum/tempexhib/vrml/index.html Some VRML applications demonstrated business value. For instance, Siemins Power Generation Group (KWU) devised a way to convert 3-D CAD nuclear power plant models to VRML files that can be read with a Web browser. The project could shave a year off the usual power-plant design time. It saves millions of dollars in the cost of drawings alone, according to the article VRML Lets CAD Users Share. (Ellen Messmer, April 1999). 30

5.5 Author s Experience and Evaluation The author s experiences are consistent with the cited descriptions above from other people in this field. The advantages of 3-D graphics, interactive, and infinite screen access, made VRML more applicable to the fields such as science, history, archeology, and education when some specific demonstrations are needed. Examples of these applications include building long lost historical sites, or demonstrate the structures and movements of chemistry molecules. There are also limitations associated with VRML. For example, VRML works well on small-scale designs such as a 3-D logo or a small fun 3-D scene, which increases the attractiveness of a web site. However, not all the web users can view it because they may or may not have the required plug-in or the web browsers that supports VRML. The use of VRML is restricted, when used in a larger project, by the network transfer and the speed of the PC because of the size of the files for a large project is usually huge. In addition, writing the program for VRML worlds, although not difficult technically in comparison to most of the programming languages, is tedious and time consuming, especially when there are many details in the VRML world. While VRML authoring tools can make complex geometry programming in VRML much easier and can save a considerable amount of coding time, they may produce some unnecessary codes and therefore request extra rendering times in a browser. In order for VRML to be more commonly used, having significantly improved authoring tools is a necessity in addition to faster computers and speedy Internet transitions. Finding business values for VRML application is another challenge for pushing the VRML technology forward. 31

5.6 Future Improvements of VRML As more people install browsers and use higher specification machines with higher bandwidth connections, which will reduce download times VRML will become more accessible. Sun is engaged in a collaborative effort with the Web3D Consortium (formerly the VRML consortium) to build an efficient Java 3-D renderer for VRML97 scenes. The Java 3-D API is now available for programmers of various skill levels who wish to blend rich graphics architecture with the Java platform without sacrificing performance (Travis Bryson, Apeil 1999). The Web3D consortium will issue a fast-tracked series of X3D specifications to ensure the technology s rapid adoption. X3D will culminate with the specification s incorporation into the next-generation open, nonproprietary VRML ISO standard, VRML 2002. X3D has evolved from, and retains compatibility with, VRML 97 (Nicolas Mokhoff, Aug. 1999). Many authors discuss how to make VRML programs more efficient in their books and articles. Bob Crispen s article VRML Post-Production the secret of the best VRML worlds on the Web is a typical one. Bob Crispen introduced many tips that a VRML programmer can use to make a file more efficient. The tips include: strip the unnecessary code generated from a modeler, DEF / USE appearance node, compress file, speeding up animations, light it right, use textures instead of geometry, control window size, etc. (Bob Crispen, July, 1998). Compress VRML files for faster download. Since VRML scenes have a lot of color, texture, lights, and complex geometry, the large file size is a big challenge for client / server communication on the Internet. Without color, lights and other interesting 3-D display features, VRML wouldn t be so attractive to many people. Gzip is a common solution to providing faster download at the present time. For example, in VRML 2.0, 32