funzione glTexGend
Controlla la generazione di coordinate di trama.
void WINAPI glTexGend(
GLenum coord,
GLenum pname,
GLdouble param
);
-
Coord
-
Coordinata della trama. Deve essere uno dei seguenti: GL_S, GL_T, GL_R o GL_Q.
-
Pname
-
Nome simbolico della funzione di generazione delle coordinate della trama.
-
param
-
Un singolo parametro di generazione di trame con valori, uno di GL_OBJECT_LINEAR, GL_EYE_LINEAR o GL_SPHERE_MAP.
Questa funzione non restituisce un valore.
I codici di errore seguenti possono essere recuperati dalla funzione glGetError .
Nome | Significato |
---|---|
|
coord o pname non è un valore definito accettato oppure pname è stato GL_TEXTURE_GEN_MODE e i parametri non sono stati accettati. |
|
pname era GL_TEXTURE_GEN_MODE, i parametri erano GL_SPHERE_MAP e coord era GL_R o GL_Q |
|
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd. |
La funzione glTexGen seleziona una funzione di generazione delle coordinate della trama o fornisce coefficienti per una delle funzioni. Il parametro coord assegna un nome a una delle coordinate di 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 seguenti: GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE o GL_EYE_PLANE. Se pname è GL_TEXTURE_GEN_MODE, param specifica una modalità, una delle 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
viene usato, dove g è il valore calcolato per la coordinata denominata in coord; p1, p2, p3 e p4 sono i quattro valori forniti nei parametri; 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 delle 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 di 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
viene usato, dove
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 è danneggiato o singolare, le coordinate della trama generate dalla funzione risultante possono essere imprecise o indefinite.
I valori in param definiscono un piano di riferimento nelle coordinate degli occhi. La matrice modelview applicata non può essere la stessa in vigore quando i vertici del poligono vengono trasformati. Questa funzione stabilisce un campo di coordinate di trama in grado di produrre linee di contorno dinamiche sugli oggetti in movimento.
Se pname è GL_SPHERE_MAP e il coord è GL_S o GL_T, le coordinate di trama s e t vengono generate come indicato di seguito. Lasciare che u 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
Infine, lasciare
Quindi i valori assegnati alle coordinate della trama i e t sono
È possibile abilitare o disabilitare una funzione di generazione delle coordinate della trama usando glEnable o glDisable con uno dei nomi simbolici delle coordinate della trama (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 la funzione è disabilitata, i vertici successivi accettano la coordinata della trama specificata dal set corrente di coordinate della trama. Inizialmente, tutte le funzioni di generazione delle trame 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
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|
Libreria |
|
DLL |
|