A texture is a pair , where is a continuous image, and is a function , called a detail filter.
A continuous image is a continuous function , where is a vector space over the reals.
Given a texture T = (g, h), its texture sampler is a function
,
where denotes convolution, and denotes composition.
An image (or a discrete image) is a function where is a vector space over the reals. Given an image , if we assume that it has been obtained by sampling some band-limited continuous image , it can be shown that
,
where
where
is the delta distribution in centered on .
The is called a reconstruction filter, and as an approximation can be replaced by other low-pass filters, particularly with those having bounded support. The process of forming I from D (or d) is called reconstruction.
Pastel provides three types of concrete, predefined texture classes:
An image-based texture, whose continuous image has been reconstructed from an image. The different versions differ in the used reconstruction and detail filter.
A modifier texture, which modifies the values of an existing texture in some way, or combines the values of two or more existing textures to form a new one.
A synthetic texture, whose continuous image is computed on the fly via a mathematical formula.
A distortion texture, which distorts the texture space of an existing texture in some way.
The ideal reconstruction filter most often can not be used for computational purposes because it has an infinite support. Therefore, it is approximated by finite-support filters. However, for images it is the case that the visual quality which results from reconstructing with the ideal filter is very bad (the reconstruction can be done in restricted cases by using the Fourier transform): it exhibits so called ringing where each discontinuity is echoed to its neighborhood. Therefore finite-support filters are not used just for necessity but also for better-looking reconstructions.
An abstract class for textures