funzione glTexGenfv
Controlla la generazione di coordinate di trama.
void WINAPI glTexGenfv(
GLenum coord,
GLenum pname,
const GLfloat *params
);
-
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.
-
params
-
Matrice di valori float che contiene i coefficienti per la funzione di generazione della trama corrispondente.
GLfloat zPlane[] = { 0.0f, 0.0f, 1.0f, 0.0f };
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. |
|
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_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 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
! [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 è danneggiato 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 degli occhi. La matrice modelview applicata a tali oggetti potrebbe non corrispondere a quella applicata 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 questa funzione è disabilitata, i vertici successivi accettano la coordinata di 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 |
|