Leggere in inglese

Condividi tramite


funzione glTexGenfv

Controlla la generazione di coordinate di trama.

Sintassi

void WINAPI glTexGenfv(
         GLenum  coord,
         GLenum  pname,
   const GLfloat *params
);

Parametri

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 };

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
coord o pname non è un valore definito accettato oppure pname è stato GL_TEXTURE_GEN_MODE e i parametri non sono stati accettati.
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 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

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 è 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

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

Infine, lasciare

Equazione che mostra m come funzione del vettore di reflection.

Quindi i valori assegnati alle coordinate della trama i e t sono

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

È 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

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