Revision of Run-time Environment from Thu, 10/22/2015 - 16:42
Overview
The X3D run-time environment maintains the current state of the scene graph, renders the scene as needed, receives input from a variety of sources (Sensors) and performs changes to the scene graph in response to instructions from the behavioral system. The X3D run-time environment manages the life cycle of all in-scene objects. The run-time environment coordinates the processing of in-scene Events. The run-time environment also manages interoperation between the X3D browser and host application for file delivery, hyperlinking, page integration and external programmatic access.
X3D runs in two different environmental modes - DOM and Classic. The Classic environment is the same as X3D V3.3 and is fully described in .... The DOM environment differs from the Classic environment in event handling, profile availability, certain field support (e.g., url), and interaction between the environment (Document Object Model) and X3D. The remainder of this section describes the characteristics of X3D that are common to both environments.
The run-time environment manages objects. X3D supports several types of built-in objects that contain generally useful functionality in the run-time environment. There are built-in objects to represent data structures such as an SFVec3f. 3D vector value, nodes such as geometry (e.g., Cylinder), and ROUTEs between nodes. Each node contains zero or more fields that define storage for data values, and/or zero or more events for sending messages to/from the object. Nodes are instantiated by declaring them in a file or by using procedural code at run-time.
Events are the primary means of generating behaviors in X3D within the run-time environment. Events are used throughout X3D. Driving time-based (keyframe) animations is supported in all environments. The Classic environment handles object picking; detecting user movement and collision; changing the scene graph hierarchy. The run-time application manages the propagation of events through the system and order of evaluation according to a well-defined set of rules.
An author of X3D content can control the creation and management of scenes, rendering and behavior, and loading of media assets. The loading and incorporation of authored extensions, which can be written in X3D or an external language, can also be controlled. The ability to make content-defined extensions is provided in profiles that support the Prototyping mechanism.