HOME

TheInfoList



OR:

Generative Modelling Language (GML) in
computer graphics Computer graphics deals with generating images with the aid of computers. Today, computer graphics is a core technology in digital photography, film, video games, cell phone and computer displays, and many specialized applications. A great deal ...
and
generative computer programming In computer science, the term automatic programming identifies a type of computer programming in which some mechanism generates a computer program to allow human programmers to write the code at a higher abstraction level. There has been little ...
is a very simple programming language for the concise description of complex 3D shapes. It follows the "Generative Modelling" paradigm, where complex datasets are represented by "lists of operations" rather than by lists of objects, which is for instance the case in a
relational database A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
.


Overview

Usual
3D file formats This is a list of file formats used by computers, organized by type. Filename extension it is usually noted in parentheses if they differ from the file format name or abbreviation. Many operating systems do not limit filenames to one extension s ...
describe a
virtual world A virtual world (also called a virtual space) is a computer-simulated environment which may be populated by many users who can create a personal avatar, and simultaneously and independently explore the virtual world, participate in its activitie ...
in terms of
geometric primitive In vector computer graphics, CAD systems, and geographic information systems, geometric primitive (or prim) is the simplest (i.e. 'atomic' or irreducible) geometric shape that the system can handle (draw, store). Sometimes the subroutines tha ...
s. These may be cubes and spheres in a CSG tree,
NURBS Non-uniform rational basis spline (NURBS) is a mathematical model using basis splines (B-splines) that is commonly used in computer graphics for representing curves and surfaces. It offers great flexibility and precision for handling both analy ...
patches, a set of
implicit function In mathematics, an implicit equation is a relation of the form R(x_1, \dots, x_n) = 0, where is a function of several variables (often a polynomial). For example, the implicit equation of the unit circle is x^2 + y^2 - 1 = 0. An implicit fun ...
s, a triangle mesh, or just a cloud of points. The term "generative 3D modelling" describes a different paradigm for describing shape. The main idea is to replace 3D objects by object-generating operations: A shape is described by a sequence of processing steps, rather than the triangles which are the end result of applying these operations. Shape design becomes rule design. The approach can be generally applied to any shape representation that provides a basic set of generating functions, called in this context 'elementary shape operators'. Its effectiveness has been demonstrated, e.g., in the field of procedural
mesh generation Mesh generation is the practice of creating a polygon mesh, mesh, a subdivision of a continuous geometric space into discrete geometric and topological cells. Often these cells form a simplicial complex. Usually the cells partition the geometric ...
, with Euler operators as complete and closed set of invertible shape generating functions for meshes, operating on the half-edge level. Generative modelling gains efficiency through the possibility of creating 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 modelling 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 Modelling Language

The GML is a concrete implementation of the generative approach. It is a stack-based,
interpreted programming language In computer science, an interpreter is a computer program that directly executes instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program. An interpret ...
, very similar to Adobe's
PostScript PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, ...
, but without any of the 2D layout operators. It provides instead a number of operators for creating 3D models (
polygon In geometry, a polygon () is a plane figure that is described by a finite number of straight line segments connected to form a closed '' polygonal chain'' (or ''polygonal circuit''). The bounded plane region, the bounding circuit, or the two t ...
s,
b-rep In solid modeling and computer-aided design, boundary representation (often abbreviated B-rep or BREP) is a method for representing a 3D shape by defining the limits of its volume. A solid is represented as a collection of connected surfa ...
s,
subdivision surface In the field of 3D computer graphics, a subdivision surface (commonly shortened to SubD surface) is a curved surface represented by the specification of a coarser polygon mesh and produced by a recursive algorithmic method. The curved surface, ...
s). As a "shape programming language," it is a true generalization of "flat" 3D file formats like OBJ, DXF, or
VRML VRML (Virtual Reality Modeling Language, pronounced ''vermal'' or by its initials, originally—before 1995—known as the Virtual Reality Markup Language) is a standard file format for representing 3-dimensional (3D) interactive vector graph ...
that contain just lists of geometric primitives. Together with its
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve ha ...
-based
runtime engine In computer programming, a runtime system or runtime environment is a sub-system that exists both in the computer where a program is created, as well as in the computers where the program is intended to be run. The name comes from the compile t ...
the GML can also be seen as a viewer with an integrated modeller, to overcome the usual separation of
3D modelling In 3D computer graphics, 3D modeling is the process of developing a mathematical coordinate-based representation of any surface of an object (inanimate or living) in three dimensions via specialized software by manipulating edges, vertices, ...
from
interactive visualization Visualization or visualisation (see spelling differences) is any technique for creating images, diagrams, or animations to communicate a message. Visualization through visual imagery has been an effective way to communicate both abstract and c ...
. Both are interwoven instead. GML permits a concise representation of parameterized 3D objects which can be evaluated on-the-fly at runtime, rendered with adaptive level-of-detail, and allows for the interactive manipulation of all parameters.


GML Example


Applications

With procedural models, the model complexity is no longer directly (i.e., linearly) related with the file size. The ''Procedural Cathedral'', a basic model of the
Cologne Cathedral Cologne Cathedral (german: Kölner Dom, officially ', English: Cathedral Church of Saint Peter) is a Catholic cathedral in Cologne, North Rhine-Westphalia. It is the seat of the Archbishop of Cologne and of the administration of the Archdiocese of ...
, contains 70
tracery Tracery is an architectural device by which windows (or screens, panels, and vaults) are divided into sections of various proportions by stone ''bars'' or ''ribs'' of moulding. Most commonly, it refers to the stonework elements that support the ...
windows, and a single window in highest resolution contains about 7 million triangles. These are "unfolded" from only 126 KB of GML code (18 KB zipped).
Gothic architecture Gothic architecture (or pointed architecture) is an architectural style that was prevalent in Europe from the late 12th to the 16th century, during the High and Late Middle Ages, surviving into the 17th and 18th centuries in some areas. I ...
is a prime example for the effectiveness of procedural shape design: In the Gothic style, all geometric constructions are exclusively executed using compass and ruler. Variations were obtained by procedurally combining in ever changing ways a set of simple basic parameterized geometric operations. Therefore, it is practically impossible to find two
tracery Tracery is an architectural device by which windows (or screens, panels, and vaults) are divided into sections of various proportions by stone ''bars'' or ''ribs'' of moulding. Most commonly, it refers to the stonework elements that support the ...
windows in different buildings that follow an identical geometric construction. The ''interactive CAVE designer'' helps to fit a
CAVE A cave or cavern is a natural void in the ground, specifically a space large enough for a human to enter. Caves often form by the weathering of rock and often extend deep underground. The word ''cave'' can refer to smaller openings such as sea ...
into a small room. Because of the concrete bars under the ceiling it is difficult to place it using only 2D plans of the room. Degrees of freedom (blue arrows) are the position and orientation of the projection screen cubicle, the opening angle of the projectors, and the position/orientation of the top mirror. The DOFs are mildly restricted to take only valid values. DOFs are kept consistent, i.e., when moving the cubicles, the projector centers move as well (or get reflected at the walls). Given a set of about 30 CAD models of car wheel rims, the task was to find a common parametrization that is capable of generating each of the individual instances (''generative surface reconstruction''). As a result, new, similar wheel rims can be synthesized within the design space that is spanned by the given 30 rims, that were manually classified into 3 main categories. A few of the high-level parameters can be directly manipulated using sliders and buttons (arrows and balls). Generative modelling suggests to differentiate between "structure" and "appearance" (e.g., the style) of 3D models. Surprisingly many objects have the same structure as a
chair A chair is a type of seat, typically designed for one person and consisting of one or more legs, a flat or slightly angled seat and a back-rest. They may be made of wood, metal, or synthetic materials, and may be padded or upholstered in vari ...
, i.e., they are "close" to a chair on the ''structural'' level. The differentiation then permits (in principle) to apply the ''appearance'' of one object in this class to another. Didactic applet showing the construction of
Voronoi diagram In mathematics, a Voronoi diagram is a partition of a plane into regions close to each of a given set of objects. In the simplest case, these objects are just finitely many points in the plane (called seeds, sites, or generators). For each seed ...
s: Is it possible to reconstruct the centers of the Voronoi cells from the region boundaries? The interactive applet conveys a good intuition of the idea behind the formal proof.


See also

*
Procedural generation In computing, procedural generation is a method of creating data algorithmically as opposed to manually, typically through a combination of human-generated assets and algorithms coupled with computer-generated randomness and processing power. In ...
*
OpenSCAD OpenSCAD is a free software application for creating solid 3D computer-aided design (CAD) objects. It is a script-only based modeller that uses its own description language; parts can be previewed, but cannot be interactively modified by mouse i ...


References

{{Unreferenced, date=November 2008


Further reading

* Michael Leyton. ''A Generative Theory of Shape'' (available from hi
homepage
* John Snyder. ''Generative Modeling for Computer Graphics and CAD: Symbolic Shape Design Using Interval Analysis''


External links


Generative-modeling.org
GML homepage.
Dissertation
of Sven Havemann on UB TU Braunschweig describes why and how GML was created

3D graphics software 3D imaging 3D graphics file formats