Web Developer's Virtual Library: Encyclopedia of Web Design Tutorials, Articles and Discussions


WDVL Newsletter

Active Server Pages
JSP/Java Servlets
Microsoft SQL Server
Daily Backup
Dedicated Servers
Streaming Audio/Video
24-hour Support    

jobs.webdeveloper.com

Hiermenus


e-commerce
Partner With Us















Developer Channel
FlashKit.com
JavaScript.com
JavaScriptSource
Developer Jobs
ScriptSearch
StreamingMediaWorld
Web Developer's Journal
Web Developer's Virtual Library
WebDeveloper.com
Webreference
Web Hosts
XMLfiles.com

internet.com
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers


Take up - Page 2

September 16, 2002

So how come we're not enveloped by fascinating 3D worlds at every click and turn? There are two big reasons. The first is that plug-ins are usually needed to view 3D, and the second is that no single 3D format has shown itself to be a clear champion and worthy leader.

Open-standard VRML was always touted as the main contender, but it's been around for years and never quite made it. Too fat and clumsy, say the experts. Yet recently it's been on a fitness program and emerged leaner and stronger as the new X3D format. High hopes for this may be more justified.

There are also various proprietary 3D formats out there, mostly requiring different plug-ins, and this messy situation is one of the reasons why 3D has never become mainstream. At one stage Java looked like it might become the saviour of 3D, with no requirements for plug-ins, but the applet solution is too clumsy, and everybody got in a muddle when Java3D came along, requiring Java 1.2. Although Java is still important in the world of 3D, it hasn't provided a killer solution.

At least the plug-in situation has recently improved. One of the big problems with VRML was the size of the browser plug-ins required to view it. A dozen or more companies made VRML plug-ins, and they were all discouragingly large for regular dial-up users to download. Under the new X3D protocol, there are different levels of complexity, so a bare-bones 3D application can be viewed with a much smaller bare-bones X3D plug-in.

The plug-in required to view Adobe Atmoshere files (Viewpoint) is also encouragingly small, taking five minutes to download on a mediocre dial-up connection.

Two new formats with small plug-ins is good news, but maybe it would be even better news if there was just one format, not two. That would certainly encourage the browser manufacturers, especially Microsoft, to include a plug-in as standard within their browers. There's no clear indication that that's going to happen soon.

At least the two formats just mentioned probably won't get involved in a war of attrition that succeeds in killing them both. They appear to be aimed at slightly different market segments. There's certainly some overlap, but in general Adobe Atmosphere is aimed at simpler applications than X3D. For example, Atmosphere is ideal for 3D chatrooms but won't be much use for 3D games. So it looks likely that there's a place on the Web for both formats.

In order to understand X3D it's worth grasping the basics of VRML, so that's what we'll look at next. If you want a more detailed introduction, try the fine WDVL tutorial.

VRML

There are a couple of different versions of VRML (often pronounced 'vermal'), but it's best to concentrate on VRML97 (effectively the same as VRML 2.0) and ignore anything else. It's a programming language used to describe 3D scenes and a modest amount of animation and interaction within those scenes.

In VRML parlance, program objects are called nodes, and this terminology helps to distinguish the viewable objects from the program objects that create them. There are many nodes available, including basic shapes, transforms and text.

Here's a small example of VRML:

#VRML V2.0 utf8
Transform {
  children [
    Transform {
      translation 3 0 0
      children [
        Shape {
          geometry Sphere {radius 2}
          appearance Appearance {
            material Material { diffuseColor 0 1 0 }
          }
        } 
      ] 
    }# end of sphere transform
    Transform {
      translation -3 0 0 
      children [
        Shape {
          geometry Box {}
          appearance Appearance {
            material Material {diffuseColor 0 0 1}
          }
        } #end of shape  
      ] #end of children of box transform
    } #end of Box transform
  ]#end of children of world transform
} #end of world transform

Note that text after a hash # is comment.

This VRML code creates a blue box and green sphere side by side. For more details, visit the webreference page from where the example was taken.

If you're familiar with XML, you'll see how closely the VRML code resembles XML, especially in its hierarchical structure. It's this resemblance that has made it relatively straightforward to make the new X3D standard backwards-compatible with VRML.

It's possible to add simple animations within the VRML code, but when there's a need for more complicated movement, it's time to add in other programming languages to mess those nodes around. An interactive game based on VRML would also include many pages of Java code to deal with the complicated bits. Simpler applications can use JavaScript - which in the VRML world often goes by its more formal name of ECMAScript.

Overall, VRML is unwieldy, but is still used a lot in CAD, where computer power and bandwidth aren't seen as limitations.

An Introduction to 3D, X3D and Atmosphere
An Introduction to 3D, X3D and Atmosphere
X3D - Page 3


Up to => Home / Authoring / Graphics / 3d / Intro




Jupiter Online Media: internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and Jupiter Online Media

Jupitermedia Corporate Info


Legal Notices, Licensing, & Permissions, Privacy Policy.

Web Hosting | Newsletters | Tech Jobs | Shopping | E-mail Offers