texture


texture mapping


texture
directory
brush
fac
image
name
NP
transparency
validate
vol
utilisation
Voir aussi

texture

texture("pname param")

       Appelle la fonction glTexParamater d´OpenGLles avec les paramètres pname et 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


Par défaut les mappes sont initialisées à ("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 directory

texture directory("dir")

Construit texture name=dir/*.ima
Remarque:
si dir contient des directorys dir1, dir2, .. contenant des fichiers *.ima les noms de ces fichiers sont arrangés dans des objets texture directories name diri, voir edit texture
Options:
add: ajoute les fichiers.
read(num): charge ces fichiers dans les images number (num,num+1,...) (num = 1 par défaut).
read(0): ne charge pas les fichiers.

texture directory NP

Retourne le nombre de directorys de texture directory

texture fac

texture fac(f) vol(id)

       Retourne le numéro de la texture associée à la facette f du volume id.

texture fac(f) vol(id)=num

       Modifie ce numéro.
Remarque: texture vol et texture fac vol sont incompatibles, l'une détruisant l´autre.

texture image

texture image(id)

       Retourne le numéro de la texture associée à l´image id par la fonction glGenTextures() d´OpenGL.
Ce numéro est automatiquement calculé lors de la 1ère utilisation de l´image id comme texture.
On peut le regénérer par generate texture image(id).

texture image(id)=num

       Modifie ce numéro (déconseillé).

texture brush

texture brush(id1)

       Retourne l´ identificateur de l´image associée avec le pinceau id1 de type texture.

texture brush(id1)=id2

       Change cet identificateur.
Remarque:
Lorsque le pinceau id1 est affiché au point (x,y) il sera rempli avec la fenêtre (x,y,x+nx-1,y+ny-1) de l´image id2 (avec (n,ny = radiusr brush(id1).

texture validate vol

Animation de texture. Animation de textures.

Principe
directory
exec
image
interpol
law
name
period
speed
type
validate
Voir aussi
exemple

Principe

Des multi niveaux de textures sont définies sure une grille id par:
texture vol(id)=n1,n2,... et transp texture vol(id)=t1,t2,....
Une variation automatique des transparences et des validations des volumes permet d´animer ces textures.
Propriété par défaut texture validate du volume vol(id):
       flag 0
       number > 0
       image = 0
       period = 0
       interpol = 0
       val = image 3D associé à la texture
       bit = 0, inc_bit = 1 (float) bit = 0.0
       speed = 1
       nz = nombre de bitmaps
       inc = incrément d´image
       loi de transparence
       type = "period puls rand"

Principle

Multi layers texture are defining on a grid by:
texture vol(id)=n1,n2,... and transp texture vol(id)=t1,t2,....
An automatic variation of transparencies and validations of volumes allow animate those textures.

texture(num)directory("dir")vol(id)

Les images sont dnas le directory dir
Options:
read(num): charge les fichiers dans les images (num,num+1,...).

texture(num)validate exec(e)vol(id)

exec(0): inhibe texture num. exec(1): active texture num.

texture(num)validate image(ima)vol(id)

Fait de l´image associée au niveau num d´être:
       validate(ind): l´image d´index ind dans la liste validate name.
       validate("nnn.ima"): toute image de nom nnn.ima.

texture(num)validate image(ima)vol(id)

ima est l´image associée àla texture de niveau num.

texture validate interpol(ni)

ni = nombre d´images interpolant deux niveaux de textures.

texture(num)validate law(w)vol(id)

Modifie le paramètre law de la propriété num.

texture(num)name("n1.ima n2.ima ...")vol(id)

Les images are n1.ima n2.ima ...
Options:
read(num): load files in images (num,num+1,...).
read(num): charge les fichiers dans les images (num,num+1,...).

texture validate period(p)vol(id)

       period(0): stop animation (default).
       period(1): im,im+1,...,im+nb-1,im,im+1,...
       period(-1): im,im+1,...,im+nb-1,im,im+nb-2,...,im,im+1,....

texture(num)validate speed(s)vol(id)

Modifie le paramètre speed de la propriété num.

texture(num)validate type("t")vol(id)

avec l´option interpol: type("period"): numéros des images = (0,1,...,nb-1,0,1,...) type("rand"): numéros des images = rand(nb)

texture(num)validate(v)vol(id)

Fait de l´image associée au niveau num:
       validate(ind): l´image d´index ind dans la liste validate name.
       validate("nnn.ima"): toute image de nom nnn.ima.

Voir aussi

edit texture validate vol(id)
exec texture(num)validate vol(id)
period texture(num)validate vol(id)
rem texture(num)validate vol(id)
speed texture(num)validate vol(id)
type texture(num)validate vol(id)

example

Example

Construire une grille:
       grid(1)dim(800,600);
Construire une base de données d´images (101,102,...) (*.ima in directory dir):
       texture directory("dir")read(101);
Rendre les textures 1 et 2 animables:
       texture(0)validate(0)image(-1)period(-1)vol(1);
       texture(0)validate(1)image(-2)period(-1)speed(.5)vol(1); Construire une loi de variation:
       texture(2)validate law(0,1,0, .5,0,0, 1,1,0)vol(1);
ACtiver l´illumination et les textures:
       yes illum texture;
Mode interaction: interaction;

texture vol

texture vol(id)

       Retourne le numéro de la texture associée au volume id.
Remarques:
1) une texture ne peut être définie que sur un volume ayant des secx et des secy (ball, geod, grid, prism, pipe, rev).
Pour tout autre volume utiliser texture fac.
2) texture vol et texture fac vol sont incompatibles, l'une détruisant l´autre.

texture vol(id)=t

       Modifie ce numéro.
Pour plusieurs textures texture vol(id)=t1,t2,... il faut définir des transparences par: transp texture vol(id)=tt1,tt2,...
transp texture vol(id) est construit.

Utilisation:

1) Construire une image id

Soit par:
       read image(id)name("nn.ext")dim(nx,ny)
ou par:
       generate(2)image(id)poi(x,y)dim(nx,ny). nx et ny doivent être des puissances de 2 (2, 4, 8, 16, 32, ...).

2) Construire des volumes affectés de texture

texture vol(id)=num.

3) Afficher

Activer yes illum et yes texture.
Afficher: displ vol.

Remarques

1) Les mappes ne sont implémentées que sur des surfaces isomorphes à des grilles (ouvertes ou fermées):
ball
geod
grid
rev
pipe
2) Les mappes sur des facettes ne sont implémentérs que pour des facettes quadrilatères.

texture name

Retourne la liste des frichiers construite par texture directory("dir") opu par:

texture name("n1.ima n2.ima ...")

Construit la liste ("n1.ima n2.ima ...")
Options:
read(num): charge ces fichiers dans les images number num,num+1,... (num = 1 par défaut).

texture NP

Returns the number of fiels of texture name.

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 disque)
        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.

Voir aussi:

generate texture vol
no texture
yes texture















































Voir aussi:


coord vertex vol
edit texture
generate texture
generate coord vertex vol
interpol texture
no texture
period validate texture
yes texture