Generative Modelling Language
Traditionally, 3D objects and virtual worlds are defined by lists of geometric primitives: cubes and spheres in a CSG tree, NURBS patches, a set of implicit functions, a soup of triangles, or just a cloud of points.
The term 'generative modeling' describes a paradigm change in shape description, the generalization from objects to operations: A shape is described by a sequence of processing steps, rather than just the end result of applying operations. Shape design becomes rule design. This approach is very general and it can be applied to any shape representation that provides a set of generating functions, the 'elementary shape operators'. Its effectiveness has been demonstrated, e.g., in the field of procedural mesh generation, with Euler operators as complete and closed set of generating functions for meshes, operating on the halfedge level.
Generative modeling gains its efficiency through the possibility to create high-level shape operators from low-level shape operators. Any sequence of processing steps can be grouped together to create a new 'combined operator'. It may use elementary operators as well as other combined operators. Concrete values can easily be replaced by parameters, which makes it possible to separate data from operations: The same processing sequence can be applied to different input data sets. The same data can be used to produce different shapes by applying different combined operators from, e.g., a library of domain-dependent modeling operators. This makes it possible to create very complex objects from only a few high-level input parameters, such as for instance a style library.
The 'generative modeling language' GML is a concrete implementation of the generative approach. Its main feature is that it is a full functional programming language that can nevertheless be efficiently used as file format for low-level shape descriptions. Only 25 KB of GML code of a Gothic window style library are sufficient to generate connected manifold control meshes for a variety of windows.
The GML comes with an integrated visualization engine. Thus, it can also be seen as a viewer with an integrated modeler that overcomes the usual separation of 3D modeling from interactive visualization. Curved parts are represented as subdivision surfaces that, within 1-2 seconds, unfold to seven million vertices after four steps of recursive refinement. The surface is adaptively displayed at interactive rates using optimized methods for culling and per-face per-frame multiresolution rendering.
Perhaps the GML is a valid successor of VRML?