funzione glTexGenf
Controlla la generazione delle coordinate della trama.
void WINAPI glTexGenf(
GLenum coord,
GLenum pname,
GLfloat param
);
-
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.
Questa funzione non restituisce un valore.
I codici di errore seguenti possono essere recuperati dalla funzione glGetError .
Nome | Significato |
---|---|
|
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. |
|
pname era GL_TEXTURE_GEN_MODE, params era 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 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
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
Infine, lascia che
I valori assegnati alle coordinate della trama i e t sono quindi
È 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
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|
Libreria |
|
DLL |
|