VRML is a highly dynamic, extensible language. The architects of VRML designed the language in a very modular format. Every object is created in its own world. For instance, if a vase was designed in VRML, it would first be constructed in its own world coordinates. If a designer wanted to place the vase in a mansion that he was creating, he could simply translate, rotate, and scale the vase so it fit exactly where he wanted it to. By specifying components such as the vase in a generic coordinate system, large libraries of VRML components can be created that developers can reference. In the sample VRML world that I created , the table in the center of the building was taken from a VRML library. Using the same modular structure, designers can link multiple VRML worlds together. For instance, a game developer could develop multiple dungeon levels and link all the levels together using anchors.
Unfortunately, VRML is fairly slow. Since VRML is interpreted, it takes a fast CPU to render VRML scenes at 25 fps or better. Even on a mid range Pentium PC, VRML is jerky and slow. Given VRML's architecture, it will always have trouble competing with 3d implementations that squeeze the last little bit of performance out of the CPU and graphics hardware. Since VRML is so abstract, it will always be one step behind applications that are optimized for a particular architecture.