Session 4B: VRML, Java, and Virtual Reality     

Eric Wernert, Sr. Scientist & Manager
UITS Advanced Visualization Lab, Indiana University

This session provides a brief introduction to VRML, the Virtual Reality Modeling Language.  We illustrate how VRML can be used in conjunction with Java and describe the benefits of incorporating VRML into a computer science curriculum.  We conclude with an introduction to virtual reality (VR) technologies and the role that VRML and Java play in the development ov VR applications.  This session provides a basic background for the subsequent demonstrations  in the UITS Advanced Visualization Lab during Session 5.


  1. VRML - What, When, Why, and Why Not
  2. VRML and Java
  3. Virtual Reality
  4. Resources

1. VRML - What, When, Why, and Why Not

VRML Description (from the ISO Specification)

The Virtual Reality Modeling Language (VRML) is a file format for describing interactive 3D 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 3D graphics and multimedia. VRML may be used in a variety of application areas such as engineering and scientific visualization, multimedia presentations, entertainment and educational titles, web pages, and shared virtual worlds.

VRML is capable of representing static and animated dynamic 3D and multimedia objects with hyperlinks to other media such as text, sounds, movies, and images. VRML browsers, as well as authoring tools for the creation of VRML files, are widely available for many different platforms.

VRML supports an extensibility model that allows new dynamic 3D objects to be defined allowing application communities to develop interoperable extensions to the base standard. There are mappings between VRML objects and commonly used 3D application programmer interface (API) features.

Brief History of VRML

1994 - VRML1.0 standard based on SGI's Open Inventor - static models only
1997 - VRML2.0 standard (officially VRML97) based on "Moving Worlds" proposal - dynamic models and extensibility
2003 - X3D standard (eXtensible 3D, "VRML3.0") -  clarification and modularization of  VRML 97  +  expanded capabilities
-- We'll be refering to the VRML97 standard in these notes.

VRML Examples

- Note: VRML examples require the installation of a VRML browser (Web plugin) - see e.g. Cortona

Benefits of VRML for teaching Computer Science

Why not use VRML?

2. VRML and Java

VRML Scene Graph Structure

More than just objects, appearances, and transformations

Programming VRML with Java - 3 Possible methods:

Programming X3D with Java - promises more possibilities

3. Virtual Reality

Characteristics of a VR system

VR Displays

So, VRML is ideal for VR displays, right?

So, how do people program for VR?

VR Demos:


4. Resources


Eric Wernert, UITS Advanced Visualization Lab, Indiana University
Last Modified November 5, 2004