Procedural modeling is an umbrella term for a number of techniques in computer graphics to create 3D models and textures from sets of rules.
For instance procedural modeling can be used to quickly transform GIS data to a city scale 3D model. Procedural modeling techniques apply algorithms 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 urban planning, 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 amount of rules. If the employed algorithm produces the same output every time, the output does not need to 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 via user input. Procedural modeling is often applied when it would be too cumbersome to create a 3D model using generic 3D modelers, or when more specialized tools are required. This is often the case for cities.