We present a concept for using procedural techniques to represent media. Procedural methods allow us to represent digital media (2D images, 3D environments etc.) with very little information and to render it photo realistically.
Since not all kind of content can be created procedurally, traditional media representations (bitmaps, polygons etc.) must be used as well. We have adopted an object-based media representation where an object can be represented either with a procedure or with its traditional representation. Since the objects are created on the client the procedures can be adapted to its properties such as screen resolution and rendering performance.
To keep the application as small and flexible as possible, each procedure is implemented as a library which is only loaded when needed. The media representation is written in XML to make it human readable and easy editable. The application is document driven where the content of the XML document determines which libraries to be loaded.
The media objects resulting from the procedures is composited into the media representation preferred by the renderer together with the non-procedural objects. The parameters in the XML document are relative to parameters determined by the system properties (resolution, performance etc.) and hence adapt the procedures to the client. By mapping objects to individual libraries, the architecture is easy to make multi threaded and/or distributed.
Source: Linköping University
Author: Henrysson, Anders