Procedural modeling is an umbrella term for a number of techniques in
computer graphics
Computer graphics deals with generating images and art with the aid of computers. Computer graphics is a core technology in digital photography, film, video games, digital art, cell phone and computer displays, and many specialized applications. ...
to create
3D models and
textures from sets of rules that may be easily changed over time.
L-System
An L-system or Lindenmayer system is a parallel rewriting system and a type of formal grammar. An L-system consists of an alphabet of symbols that can be used to make strings, a collection of production rules that expand each symbol into some ...
s,
fractal
In mathematics, a fractal is a Shape, geometric shape containing detailed structure at arbitrarily small scales, usually having a fractal dimension strictly exceeding the topological dimension. Many fractals appear similar at various scale ...
s, and
generative modeling are procedural modeling techniques since they apply
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s for producing scenes.
The set of rules may either be embedded into the algorithm, configurable by parameters, or the set of rules is separate from the evaluation engine. The output is called procedural content, which can be used in
computer games
A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
, films, be uploaded to the internet, or the user may edit the content manually. Procedural models often exhibit database amplification, meaning that large scenes can be generated from a much smaller number of rules. If the employed algorithm produces the same output every time, the output need not be stored. Often, it suffices to start the algorithm with the same random seed to achieve this.
Although all modeling techniques on a computer require algorithms to manage and
store data at some point, procedural modeling focuses on creating a model from a rule set, rather than editing the model manually by using user input, in order to make modifying model in the future easier. The parameters that define a model may be dependent on parameters or geometry from another model making modelling process very flexible. Procedural modeling is often applied when it would be too cumbersome to create a
3D model
In 3D computer graphics, 3D modeling is the process of developing a mathematical coordinate-based representation of a surface of an object (inanimate or living) in three dimensions via specialized software by manipulating edges, vertices, and ...
using generic
3D modelers, or when more specialized tools are required. This is often the case for plants, architecture or landscapes.
Procedural modeling suites
This is a list of Wikipedia articles about specific procedural modeling software products.
See also
*
Parametric models in statistics
*
Parametric design
Parametric design is a design method in which features, such as building elements and engineering components, are shaped based on algorithmic processes rather than direct manipulation. In this approach, parameters and rules establish the relatio ...
in Computer-Aided Design
*
Procedural generation
In computing, procedural generation is a method of creating data algorithmically as opposed to manually, typically through a combination of human-generated content and algorithms coupled with computer-generated randomness and processing power. I ...
in video games
References
{{Reflist
External links
"Texturing and Modeling: A Procedural Approach" Ebert, D., Musgrave, K., Peachey, P., Perlin, K., and Worley, S
Procedural Inc.CityEngine*
"Procedural Modeling of Cities" Yoav I H Parish, Pascal Müller
*
"Procedural Modeling of Buildings" Pascal Müller, Peter Wonka, Simon Haegler, Andreas Ulmer and Luc Van Gool
"King Kong – The Building of 1933 New York City" Chris White, Weta Digital. Siggraph 2006.
* Tree Editors Compared:
Usage of the "program" entity type for algorithmic modelling with
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
3D computer graphics
Procedural generation