funzione glTexGenf

Controlla la generazione delle coordinate della trama.

Sintassi

void WINAPI glTexGenf(
   GLenum  coord,
   GLenum  pname,
   GLfloat param
);

Parametri

Coord

Coordinata trama. Deve essere uno dei seguenti: GL_S, GL_T, GL_R o GL_Q.

Pname

Nome simbolico della funzione di generazione della coordinata trama.

param

Un singolo parametro di generazione trama con valori, uno di GL_OBJECT_LINEAR, GL_EYE_LINEAR o GL_SPHERE_MAP.

Valore restituito

Questa funzione non restituisce un valore.

Codici di errore

I codici di errore seguenti possono essere recuperati dalla funzione glGetError .

Nome Significato
GL_INVALID_ENUM
il coord o pname non era un valore definito accettato oppure pname era GL_TEXTURE_GEN_MODE e params non era un valore definito accettato.
GL_INVALID_ENUM
pname era GL_TEXTURE_GEN_MODE, params era GL_SPHERE_MAP, e coord era GL_R o GL_Q
GL_INVALID_OPERATION
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd.

Commenti

La funzione glTexGen seleziona una funzione di generazione della coordinata trama o fornisce coefficienti per una delle funzioni. Il parametro coord chiama una delle coordinate della trama (s,t,r,q) e deve essere uno di questi simboli: GL_S, GL_T, GL_R o GL_Q. Il parametro pname deve essere una delle tre costanti simboliche: GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE o GL_EYE_PLANE. Se pname è GL_TEXTURE_GEN_MODE, param specifica una modalità, una di GL_OBJECT_LINEAR, GL_EYE_LINEAR o GL_SPHERE_MAP. Se pname è GL_OBJECT_PLANE o GL_EYE_PLANE, param contiene coefficienti per la funzione di generazione della trama corrispondente.

Se la funzione di generazione della trama è GL_OBJECT_LINEAR, la funzione

! [Equazione che mostra la funzione glTexGen quando la funzione di generazione della trama è GL_OBJECT_LINEAR.]

viene usato, dove g è il valore calcolato per la coordinata denominata in coord; p1, p2, p3 e p4 sono i quattro valori forniti in params; e x?, y?, z?, e w? sono le coordinate dell'oggetto del vertice. È possibile usare questa funzione per mappare il terreno usando il livello del mare come piano di riferimento (definito da p1, p2, p3 e p4). La funzione di generazione di coordinate GL_OBJECT_LINEAR calcola l'altitudine di un vertice del terreno come distanza dal livello del mare; tale altitudine viene usata per indicizzare l'immagine della trama per mappare neve bianca su picchi e erba verde su colline, ad esempio.

Se la funzione di generazione della trama è GL_EYE_LINEAR, la funzione

! [Equazione che mostra la funzione glTexGen quando la funzione di generazione della trama è GL_EYE_LINEAR.]

viene usato, dove

Equazione che mostra le coordinate oculari del vertice.

e x?, y?, z?, e w? sono le coordinate oculari del vertice, p1, p2, p3 e p4 sono i valori forniti in param e M è la matrice modelview quando si chiama glTexGen. Se M è scarsamente condizionale o singolare, le coordinate della trama generate dalla funzione risultante possono essere imprecise o indefinite.

Si noti che i valori in param definiscono un piano di riferimento nelle coordinate oculari. La matrice modelview applicata a loro potrebbe non essere la stessa in effetti quando i vertici poligono vengono trasformati. Questa funzione stabilisce un campo di coordinate di trama che possono produrre linee di contorno dinamiche sugli oggetti in movimento.

Se pname è GL_SPHERE_MAP e coord è GL_S o GL_T, le coordinate di trama s e t vengono generate come indicato di seguito. Lasciare che sia il vettore di unità che punta dall'origine al vertice poligono (nelle coordinate oculari). Lasciare che n sia la normale corrente, dopo la trasformazione alle coordinate oculari. Let f = (fx ( ) fy ( ) fz)T essere il vettore di reflection in modo che

Equazione che mostra il vettore di reflection come funzione del vettore di unità e della normale corrente.

Infine, lascia che

Equazione che mostra m come funzione del vettore di reflection.

I valori assegnati alle coordinate della trama i e t sono quindi

Equazione che mostra i valori assegnati alle coordinate della trama i e t.

È possibile abilitare o disabilitare una funzione di generazione di coordinate trama usando glEnable o glDisable con uno dei nomi di coordinate della trama simbolica (GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R o GL_TEXTURE_GEN_Q) come argomento. Quando questa funzione è abilitata, la coordinata della trama specificata viene calcolata in base alla funzione di generazione associata a tale coordinata. Quando questa funzione è disabilitata, i vertici successivi accettano la coordinata della trama specificata dal set corrente di coordinate della trama. Inizialmente, tutte le funzioni di generazione trama sono impostate su GL_EYE_LINEAR e sono disabilitate. Entrambe le equazioni del piano sono (1.0.0,0); entrambe le equazioni del piano t sono (0,1,0,0); e tutte le equazioni del piano r e q sono (0,0,0,0).

Le funzioni seguenti recuperano informazioni correlate a glTexGen:

glGetTexGen
glIsEnabled con argomento GL_TEXTURE_GEN_S
glIsEnabled con argomento GL_TEXTURE_GEN_T
glIsEnabled con argomento GL_TEXTURE_GEN_R
glIsEnabled con argomento GL_TEXTURE_GEN_Q

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Gl.h
Libreria
Opengl32.lib
DLL
Opengl32.dll

Vedi anche

glBegin

glEnd

glCopyTexImage2D

glCopyTexSubImage2D

glGetTexGen

glIsEnabled

glTexEnv

glTexImage1D

glTexParameter

glTexSubImage1D

glTexSubImage2D