texture


texture mapping


texture
brush
fac
image
transparency
vol
use
See also

texture

texture("pname param")

       Calls the OpenGLles glTexParamater function with parameters pname and param:
GL_TEXTURE_MIN_FILTER
       GL_NEAREST
       GL_LINEAR
       GL_NEAREST_MIPMAP_NEAREST
       GL_LINEAR_MIPMAP_NEAREST
       GL_NEAREST_MIPMAP_LINEAR
       GL_LINEAR_MIPMAP_LINEAR

GL_TEXTURE_MAG_FILTER
       GL_LINEAR
       GL_NEAREST

GL_TEXTURE_WRAP_S
       GL_CLAMP
       GL_REPEAT

GL_TEXTURE_WRAP_T

GL_TEXTURE_BORDER_COLOR

GL_TEXTURE_PRIORITY


By default the 2D textures are initialized to ("GL_TEXTURE_MIN_FILTER GL_NEAREST").

texture brush

texture brush(id1)

       Returns the identifier of the image associated with the brush id1 of type texture.

texture brush(id1)=id2

       Changes this identifier.
Note:
When displayed at the point (x,y) the brush id1 will be filled with the window (x,y,x+nx-1,y+ny-1) of image id2 (with (nx,ny = radius brush(id1).

texture fac

texture fac(f) vol(id)

       Returns the number of the texture associated with the facet f of volume id.

texture fac(f) vol(id)=num

       Modifie ce numéro.
Remarque: texture vol and texture fac vol are incompatible, destroying one another.

texture image

texture image(id)

       Returns the number of the texture associated with the image id by the OpenGL glGenTextures() function.
This number is automatically calculated during the first use of the image id as a texture.
Can be regenerated by generate texture image(id).

texture image(id)=num

       Changes this number (not recommended).

texture vol

texture vol(id)

       Returns texture associated with the volume id.
Notes:
texture can be defined only on volume having secx and secy (ball, geod, grid, prism, pipe, rev).
For any other volume use texture fac.
texture vol et texture fac vol are incompatible, destroying one another.

texture vol(id)=t

       Changes this number.
For multiple textures texture vol(id)=t1,t2,... define transparency by transp texture vol(id)=tt1,tt2,...

Utilisation:

1) Build an image id

Either:
       read image(id)name("nn.ext")dim(nx,ny)
or:
       generate(2)image-id)poi(x,y)dim(nx,ny). nx et ny are to be powers of 2 (2, 4, 8, 16, 32, ...).

2) Build volumes with texture

texture vol(id)=num.

3) Display

Activate yes illum and yes texture.
displ vol.

Notes

1) The textures are only implemented on surfaces isomorphic to the grids (open or closed):
ball
geod
grid
rev
pipe
2) The textures on facets are implementers only on quadrilateral facets.

TEXTURE

texture      rota      vol      Voir_aussi

texture rota

texture(x,y,z,v) rota
        Retourne une turbulence de paramètres: (x,y,z) = point de l´espace et v contrôle la turbulence

texture vol

vol      poles      turbulance      interpol      bump      procédurale      programmée

texture vol

texture vol num
        Retourne les paramètres de texture 3D du volume num
texture vol num=code,datas
        Le type de la texture dépend de la valeur de code

Poles de couleurs

code = 1:
        datas = D1,D2,...
        Di = (r1,r2,r3,r4,r5,v1,v2,v3,v4,v5,b1,b2,b3,b4,b5)
        r1,v1,b1 = amplitudes
        r2,v2,b2 = fréquences
        (r3,r4,r5), (v3,v4,v5) et (b3,b4,b5) = centres
        La couleur au point (x,y,z) est calculée par:
        r = SIGMA(de 1 à np) (r1 * sin(2*PI*r2*distance((x,y,z),(r3,r4,r5))))
        v = SIGMA(de 1 à np) (v1 * sin(2*PI*r2*distance((x,y,z),(v3,v4,v5))))
        b = SIGMA(de 1 à np) (b1 * sin(2*PI*r2*distance((x,y,z),(b3,b4,b5))))

Turbulance

code = 2:
        Turbulence
        datas=r,v,b: entre .000001 et 1

Interpolation

code = 3:
        Interpolation de textures
        datas = n1,z1,n2,z2
        ni = numéro d´une image
        zi = profondeur (par rapport à l´eye) de l´image ni
        La couleur au point (x,y,z) est calculée par interpolation, sur les z, des couleurs en (x,y) des images n1 et n2

Bump mapping

code = 4
        datas=dx,dy,dz
        La normal est bruitée de (dx,dy,dz)
Bump mapping aléatoire
code = 5
        datas = dx,dy,dz
        La normal est bruitée d´une quantité aléatoire d´amplitude (dx,dy,dz)

Procédurale

En langage anyflo)
texture vol num="name"
        Affecte la fonction de texture "name" au volume num. Lors d´un affichage (si yes texture est actif) la fonction "name" sera exécutée à chaque affichage de pixel dont la couleur sera prise égale à la valeur retournée par la fonction col.

Remarque:

Une telle fonction peut utiliser les fonctions suivantes:
        poi: Qui retourne les coordonnées du point 3D actuellement affiché
        col: Qui retourne la couleur de ce point
        normal: Qui retourne la normal em ce point
        col(r,v,b): Qui affecte une nouvelle couleur en ce point (définit une texture3D)
        normal(nx,ny,nz): Qui affecte une nouvelle normal en ce point (définit un BUMP-MAPPING)
Exemple:
name()
{
w=poi;x=w[0];y=w[1];z=w[2]:
r=cos(x/10):v=sin(y/10):b=cos(z/10):
col r,v,b: }

Programmée

En langage C)
code < 0:
        datas = ...
        La couleur au point (x,y,z) est calculée par la fonction texture3d_utilisateur(code, pd, cont, p_col) du fichier utilb.c
code = 20: Texture 3D (animée sur le disk)
        datas = x1,y1,z1,x2,y2,z2,i1,i2
        La texture suivante doit être un name de fichier image .raw
Exemple:
texture(0)vol(1)=20,-200,-200,-500,200,200,1000,1,1000;
texture(0)vol(1)="A"; Chaque point(xa,ya,za) du volume(1) prend la couleur du pixel(x,y) de l´image Azzz.raw de dimensions (dimx,dimy).
x varie entre 0 et dimx quand xa varie entre x1 et x2.
y varie entre 0 et dimxy quand ya varie entre y1 et y2.
z varie entre i1 et i2 quand za varie entre z1 et z2.

Remarques:

1) code < 0: Permet de définir plusieurs types de textures
        pd est un pointer vers les datas
        cont est un pointer de type struct Contour vers le point
        cont->xa, cont->ya, cont->za sont les coordonnées absolues
        cont->nx, cont->ny et cont->nz est la normal
        cont->r, cont->v et cont->b est la couleur
2) Il est nécessaire, pour utiliser cette variante, de modifier le fichier utilb.c et de relinker anyflo (les fichiers utilb.c, les objets et makefile se trouvent dans le directory de l´environnement)

Voir aussi:

generate texture vol
no texture
yes texture















































See also:


coord vertex vol
generate texture
generate coord vertex vol
no texture
yes texture