**Texture** ([edit](http://github.com/nicebyte/wiki/edit/master/Wiki/Texture.md)) For the purposes of rendering we are often interested in various properties of an object's surface, such as its base color, roughness, or the direction of the surface normal at that point. Generally speaking, these properties are defined for each of the infinitely many surface points of the object. In some cases, these properties can be represented analytically. For example: given a point on the surface of a sphere, it is trivial to reconstruct the normal at that point using the formula $$ \bar{n} = \frac{\bar{p} - \bar{o}}{r} $$ where $\bar{p}$ is the surface point, $\bar{o}$ is the origin of the sphere, and $r$ is the radius of the sphere. However, in the general case, there is no convenient mathematical function describing the relevant properties of the surface. It is also impossible to store every value at every point on the surface, because the surface has infinitely many points. To cope with these constraints, we can take a finite subset of the surface points, and record the properties of the surface at those points only. We shall refer to such snapshots as "surface textures". "Volume textures" shall be used to refer to similar snapshots describing the properties of a _volume_. Texture data is typically stored as images, and the pixels of those images are referred to as _texels_. Categories: ComputerGraphics, TextureMapping