Texture is one of the basic attributes of objects besides color and shape. It is the structure of a material surface.
In 1986 Heckbert [3] proposed classification of the textures according to how the given characteristics of a surface are. They are classified as follows:
Another classification is according to the dimensions of texture: 2-dimensional and
3-dimensional textures.
2-dimensional textures are mapped directly on to the surface of objects, while a 3-diemnsional texture is defined by
a scalar field in area. They are called solid textures.
3D textures can be classified according to what the attribute of a given surface represents.
The simplest attribute is the color of a point. Here, it is enough to calculate the value of texture at a given
point in an area. Another attribute is the transparency of a given point. This type of 3D textures is called
hypertextures. Their basic characteristic is that they do not determine any surface. They are used mainly
for modeling such types of object as hair, fog, fire and similar.
The last type of classification is according to representation of textures. We can split these into tabular type and procedural type. A 2D or 3D texture can be stored in a table (2 or 3 dimensional), where most frequently it is stored as a picture in a graphics format, or by a procedure in the case of procedural texturing.
The process of coating texture on to a surface is called texture mapping. The ways of texture mapping depend on the manner in which the texture is set, because there is a great difference in mapping a texture in 2D or in 3D areas, or according to the shape of the object on to which we are mapping a texture.
[1] According to [1], from the mathematical point of view, we can define a general texture as a projection of a plane, flat area into a module area, which can be an area of colors, or levels of gray:
Texturing is the process of assigning coordinates of texture (of a bitmap) to image coordinates as seen in the following applet.
Let's take the example of texture mapping on a cylinder. A cylinder is represented by the following rotation surface:
x = r * cos u, y = r * sin u, z = v,
where v ∈ <0, and u ∈<0,2π>. where v ∈ <0, hight> and u ∈ <0, 2π>.
Then, for any point (x, y, z) on the cylinder, we have inverse mapping :
arccos x / r pre
y=<0
u =
arccos x / r + π
for y>0
v = z.
Texture samples
Picture Procedural texture no. 1
Picture Procedural texture no. 2
Picture Procedural texture no. 3
Uživateľská špecifikácia: Applet bude demonštratívne zobrazovať základné princípy mapovania textúry na guľu. Prvou vecou ktoru bude applet umožnovať je zobrazenie guľe pozostávajúcu z nastaviteľného množstva polygónov ktora sa bude dať dragovaním kurzora myši otáčať okolo X a Y osí. Guľu budeme môcť zobraziť buď v sieťovej štruktúre alebo vykresliť celé plné polygóny. Zapnutím “osvetlenia” sa budú polygóny bližšie k svetlu zobrazovať svetlejšie ako polygóny vzdialenejšie. Ďalej budeme mať možnosť skryť odvrátenú stranu guľe, teda polygóny ktoré by pozorovateľ nemal vidieť poskytovať dve názorné mapovania surádnic : z textúry na guľu a z guľy na textúru. Kliknutím na obdĺžnik sa nám surádnice u,v zobrazia na súradnnice x,y,z na guli, zároveň sa nám guľa natočí tak, aby sme daný bod videli. Takisto kliknutím na ľubovolný bod na guľi sa nám bod x,y,z zobrazí na bod u,v. Applet nam týmito zobrazeniamu demonštratívne potvrdí že mapovanie textúry na guľu je bijektívne zobrazenie. Ako bonusová funkcia tu bude samotné namapovanie textúry zeme na guľu. Toto mapovanie textúry bude softwarovo rátane pre každy polygón ktorý vidíme a pre každý pixel, takže vykreslenie jedného obrázku môže trvať pomerne dlho, preto nedoporučujem moc rotovať guľu v tomto móde.