3D Graphics Technology: VRML Part I - Introduction
by Eliana Stavrou
Virtual reality modeling language provides the graphics capability to let you create 3D objects, even whole worlds, which you can upload to your website. Visitors can then interact with these virtual items. VRML has many applications. In this first article in a series, Eliana Stavrou explains the basics and provide examples.
Introduction
Computers are getting faster and faster, with enhanced graphic capabilities providing the resources for graphic technologies to develop. Specifically, 3D technologies have been getting more and more attention the last few years, moving art design into a new dimension. The transition from 2D to 3D space created the need to develop appropriate Web 3D technologies to introduce 3D graphics for the Internet.
VRML (the Virtual Reality Modeling Language) is a standard used to describe 3D models and worlds on the Internet. VRML can be used in a variation of categories such as virtual museums, interactive environments for education, entertainment, building entire virtual cities and many more. The applicability of VRML in so many situations, and the fact that it is easy to learn, contributes to its popularity.
In this article I will introduce you to the basic concepts of VRML 2.0. In the next articles I will try to cover the syntax of VRML and appropriate examples that will show you the capabilities of the language.
What is VRML?
VRML is a description language that defines 3D scenes, giving the user the ability to navigate within the scene. The VRML files use .wrl as a file extension, and can be browsed with special VRML browsers, most of which are plug-ins for Netscape or Internet Explorer. The browsers provide controls that help the users move around and explore a 3D scene interacting with the environment.
VRML is standardized in ISO / IEC 14772, offering the ability to access a 3D visualization of a model over the Internet.
The VRML offers many benefits, including:
* Easily models 3D Web based worlds.
* 3D complex objects are the result of the combination of simple primitives such as blocks, cylinders, spheres, cones, triangulated surfaces etc.
* Small file sizes can be used effectively for Web delivery.
* Hierarchical programming features that help in learning the language easily and quickly.
development timeline of VRML.
The term Virtual Reality Markup Language (VRML) was first used by Tim Berners-Lee at a European Web conference in 1994 when he talked about the necessity of a 3D Web standard. Following the conference, a group of experts gathered together and formed a mailing list called www-vrml. The group changed the name of the standard from Virtual Reality Markup Language to Virtual Reality Modeling Language to emphasize the role of graphics. The result of their effort was to produce the VRML 1 specification. As a basis for this specification, they used a subset of the Inventor file format from Silicon Graphics.
The VRML 1 standard created only static virtual worlds, a limitation that prevented the dissemination of the standard. The drawback was solved with the development of the VRML 2 standard, which provided interactivity with the virtual world. In 1997, VRML 2 was adopted as the International Standard ISO/IEC 14772-1:1997. Since that time it is referred to as VRML97.
The VRML97 standard is improved by the Web 3D Consortium. X3D stands for eXtensible 3D, a next-generation standard that is the successor to VRML97, and an XML-enabled 3D file format to enable real-time communication of 3D data. It has a rich set of features for use in engineering and scientific visualization, CAD and architecture, medical visualization, training and simulation, multimedia, entertainment, educational, and more. For more information, see http://www.web3d.org.
Features
The major features of VRML are listed below:
* Platform independent: VRML can be used on any platform, such as PCs and Macs.
* Navigation: You can explore a VRML world, navigate through the objects such as houses and skyscrapers, link to other VRML worlds through hyperlinks that are associated with specific objects, and so forth. In addition, the usage of sensors allows an action to occur when a particular event happens such as a drag, touch, etc.
Moving through a 3D space is similar to moving a camera. The camera has a position and an orientation, attributes that are specified according to your movements within the world. The usage of a camera is called a Viewpoint in VRML terms.
* Effects: VRML lets you specify a variety of appearance and sound effects. For example you can use lighting, add backgrounds and textures, make an object transparent, add background noise, and so forth. In addition, you can use animation to make your world more interesting, by (for example) animating or rotating an object.
* Collisions: You can detect a collision between a user and an object, such as a user trying to pass through a house wall, and prohibit him.
* Scripting: By using scripting, your virtual world can execute scripts written in high-level programming languages such as Java and C++, allowing you to achieve more complex behaviors within the world.
* Extensible: VRML gives you the option to create your own nodes using Prototypes if the default VRML nodes are not enough.
There are several options for building VRML worlds. In simple terms they break down into two areas:
* Code VRML by hand.
This is the best way to learn VRML development. It will take you a lot longer, but it is guaranteed that you will learn the secrets of VMRL (as with any other programming language you try to learn by writing pure code). In order to write VRML code you will need a good knowledge of programming languages, if you want to use some of the powerful features of VRML such as animation and interaction. A VRML world can be created with a simple text editor like Notepad.
* Use a Development Tool.
Instead of writing VRML code by hand, you can use development tools to help you build VRML worlds more easily and much more quickly. By using development tools you generate reliable VRML code, and you gain access to many complex features that are difficult to implement by hand.
Viewing VRML Worlds
So, you have created your VRML world and uploaded it onto your Web site. Do you know how a user can view your virtual world?
First, the user selects the VRML world, associated with a vrmlworld.wrl file. The browser identifies the file extension as a VRML extension and tries to launch the appropriate plug-in application to display the VRML content. If the user has a VRML plug-in, it is loaded to display the VRML world; otherwise the browser notifies the user that he or she must download the plug-in, and until downloading it the VRML file does not display anything. Then, the plug-in parses the VRML file containing the description of the world and constructs the actual virtual world. Finally, the user can view and interact with items in the virtual world.
Keep in mind that other VRML browsers exist, although the usage of a plug-in application is more widespread. Some popular plug-ins are:
* Cortona VRML Client works as a VRML plug-in for popular Internet browsers (Internet Explorer, Netscape Navigator, Mozilla, etc.) and office applications (Microsoft PowerPoint, Microsoft Word, etc). You can download Cortona plug-in from http://www.parallelgraphics.com/products/cortona/ for Windows or Mac platform. This is the plug-in I have, and I will use it to demonstrate to you the VRML examples in the next article.
* Cosmo Player VRML plug-in can be downloaded for free from NIST (Windows and PowerMac). Cosmo Player has been developed by many companies including Cosmo Software, SGI (Silicon Graphics) and Platinum. The PC version of the plug-in is no longer available from any of them, and also is not updated; however, the IRIX version of Cosmo Player can still be downloaded from SGI.
* blaxxun Contact 5.1 satisfies the full VRML ISO standard and supports the new X3D standard. It can only be used on Windows. This plug-in can be downloaded from http://www.blaxxun.com/en/products/contact/index.html.
In this section I’m providing some examples to demonstrate the importance of 3D applications which are developed with VRML.
As you can see, you can develop anything from simple to very complex objects.
The following screenshot presents a 3D chair model from IKEA. Designers can use VRML to construct ideas that they can show to potential customers to explore.
[attachment=586]attachment[/attachment]
In addition, they can develop more complex environments, presenting a complete product range to customers. For example, a comprehensive interior design service, the Outline3D, can be accessed at www.Outline3D.com.
The basic functionality is free of charge and includes the following options:
* Easily draw any kind of 2D interior and generate a 3D model from it.
* Add furniture, finishings and fittings from a comprehensive catalog.
* Get detailed specification for created interior.
The following screenshot shows the result when using the service to arrange specific furniture in a room space:
[attachment=587]attachment[/attachment]
VRML can be used effectively in other areas, such as distance learning. The following screenshot is from a demo developed by ParallelGraphics. Chemistry students can use this demo to view atomic structure like never before! One click on the chemical element of your choice in the Periodic Table displays a detailed 3D model of an atom with all the protons, neutrons and electrons speeding through their orbits.
[attachment=588]attachment[/attachment]
By doing a simple search on the Internet, you will find thousands of VRML examples, many of which are fascinating and unconventional.
Conclusions
My objective when writing the first part of this article was to introduce you to VRML language. By now we know that VRML is a flexible platform for creating interactive 3D worlds. We know its main features, and that we need special VRML plug-in applications to view VRML files. The screenshots provided show us some of the many capabilities of the language and some of the areas (i.e. business, education, fun) we can use VRML to get the benefit of what it has to offer.
In the next article I will discuss the syntax of VRML and include appropriate examples that will show how we can use some of VRML’s main programmatical features.
Resources
http://www.parallelgraphics.com/showroom/
http://www.parallelgraphics.com/develop ... tona/help/
http://vrmlworks.crispen.org/worlds.html
http://www.mathworks.com/access/helpdesk/help/toolbox/
vr/ch_introduction14.html
http://docs.rinet.ru:8083/WebPub/ch39.htm
http://www.scintillatinggraphics.com.au ... LInfo.html
http://www.virtualrealms.com.au/vrml/tu ... o_vrml.htm
source
3D Graphics Technology: VRML Part I - Introduction
Moderators: Moderator, Global Moderator
3D Graphics Technology: VRML Part I - Introduction

[color=\"#41211C\"]It takes years to build up trust and only seconds to destroy it
[/color]
3D Graphics Technology: VRML Part I - Introduction
Love it <img src=\'http://www.killanet.net/forum3/public/s ... /blush.gif\' class=\'bbc_emoticon\' alt=\'(blush)\' /> I\'ll be sure to check out any other article about this <img src=\'http://www.killanet.net/forum3/public/s ... >/good.gif\' class=\'bbc_emoticon\' alt=\'(Y)\' /> Trying it out at the moment.
Last edited by Tibs on Tue Feb 15, 2005 11:46 am, edited 1 time in total.
...

