What are X3D Components, Levels, and Profiles?
For X3D to truly be an industry-wide standard, the designers realized that different companies don’t need or want to support every feature that X3D has to offer. For example, if a company wants to make a small, effecient 3D animation engine, it might not be interested in supporting features for geology rendering. Because of this, groups of features are encapsulated in what are called “components”. A component is usally specific for one particular area of functionality (i.e. a “Geo” component for handling geographic data, or a “geometry” component containing a group of geometry “nodes”, or a scripting component introducing the concept of script support). While components provide a means to introduce a collection of new nodes, X3D still supports extensions through Externprotos, protos, scripts, etc. In fact, component support can be implemented through use of these features. A profile is a grouping of components covering several different areas of functionality (i.e. a “Full” profile whi