A system for controlling a rendering engine by using specialized commands. The
commands are used to generate a production, such as a television show, at an end-user's
computer that executes the rendering engine. In one embodiment, the commands are
sent over a network, such as the Internet, to achieve broadcasts of video programs
at very high compression and efficiency. Commands for setting and moving camera
viewpoints, animating characters, and defining or controlling scenes and sounds
are described. At a fine level of control math models and coordinate systems can
be used make specifications. At a coarse level of control the command language
approaches the text format traditionally used in television or movie scripts. Simple
names for objects within a scene are used to identify items, directions and paths.
Commands are further simplified by having the rendering engine use defaults when
specifications are left out. For example, when a camera direction is not specified,
the system assumes that the viewpoint is to be the current action area. The system
provides a hierarchy of detail levels. Movement commands can be defaulted or specified.
Synchronized speech can be specified as digital audio or as text which is used
to synthesize the speech.