If you haven't already done so, read the Introduction to VRML to gain some insight into its feature set.
Understanding the features and limitations of a new Synthetic Environment technology is often a case of trial and error. It is only with practice and experience that you become aware of all the possibilities and restrictions that are placed on you as the author.
Polygon Count
The polygon count is the total number of polygons (usually triangles) in an
object or scene. The more triangles on screen at any one time the more calculations
the computer has to perform to display them. Computers with faster CPUs, video
cards and more RAM are better able to handle a large number of calculations.
Performance of Synthetic Environments is measured in frames per second (fps). Real-time 3D requires a sustained frame rate of at least 10fps but smooth movement requires 24fps or higher. The goal is the develop Synthetic Environments which perform as fast as possible on your target platform. The best way to increase performance is to limit the total number of polygons. See Polygon reduction for further details.
Textures
Texture quantity, size, and colour depth also affect performance. Some video
cards can't display large textures or high colour textures as they don't have
enough video RAM to store them.
Also, Synthetic Environments are often limited to only one texture on each
object ie. there is no such thing as bump, opacity or reflection maps etc. If
you want these effects you have to "paint" them onto the one texture.
See Adding Textures for further details.
Lights
Again video cards are often limited to 8 lights on screen at once. The type
of light also affects performance. See Adding Lights for further
details.
Sounds
As with textures, most sound cards can only play back 8 sounds at once within
your Synthetic Environments. This is not usually a problem as sounds can be
combined and if anyone were listening to more than 8 distinct sounds at once
it would probably be very disorienting! See Adding Sounds for
further details.
Filesize
Filesize is a limiting factor if you intend publishing
your Synthetic Environment on the Internet. Most people are still using analogue
modems, the fastest of which (56kbps) transfer data at a theoretical maximum
rate of around 7000 bytes (or characters) per second. At this speed a 2Mb Synthetic
Environment would take over 5 minutes to download. Studies have shown that most
people would have long since given up and gone elsewhere. Welcome to the age
of instant gratification!
If, however, your target audience is likely to be using a broadband Internet connection (like ISDN, ADSL, cable or satellite) then a 2Mb Synthetic Environment is not unreasonable. Broadband services are becoming more common now that the price has plummeted.
In addition to those mentioned above the most glaring limitations of VRML are as follows:
No Shadow Casting
Real-time shadows are computationally intensive so they have been left out of
the VRML specification. Lights still shade every object in the scene but shadows
cannot be cast from one object onto another. This limit is most obvious when
placing an external light (to mimic the Sun) which then illuminates objects
inside buidings or behind walls!
You can approximate shadows by either creating flattened, grey, transparent versions of your objects or painting the shadow onto an object's texture. Using a texture is the preferred option as fewer polygons are required.
No Reflections
Likewise, reflections are not supported. Reflections can be mimicked by
placing mirrored copies of objects behind flat, almost 100% transparent surfaces.
Of course the downside is you effectively double your polygon count!
Performance
Because VRML was designed as a general purpose VR format and is usually
displayed via a plug-in for a web browser, it doesn't perform as fast as say
an optimised, special purpose gaming engine like Quake that accesses the graphics
hardware at the lowest level possible. With VRML you sacrifice performance for
the benefits of wider application, distribution via the web and open standards.
Plug-in Compatibility/Compliance
There are a number of VRML plug-ins in common use but there are a few inconsistencies
between them. Most of these are minor and don't represent any significant problem
at the level this tutorial is aimed at.