funzione glNormalPointer
La funzione glNormalPointer definisce una matrice di normali.
Sintassi
void WINAPI glNormalPointer(
GLenum type,
GLsizei stride,
const GLvoid *pointer
);
Parametri
-
type
-
Tipo di dati di ogni coordinata nella matrice usando le costanti simboliche seguenti: GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT e GL_DOUBLE.
-
Passo
-
Offset di byte tra normali consecutivi. Quando stride è zero, i normali sono strettamente compressi nella matrice.
-
Puntatore
-
Puntatore alla prima normale nella matrice.
Valore restituito
Questa funzione non restituisce un valore.
Codici di errore
I codici di errore seguenti possono essere recuperati dalla funzione glGetError .
Nome | Significato |
---|---|
|
tipo non è stato accettato. |
|
stride o conteggio è negativo. |
Commenti
La funzione glNormalPointer specifica la posizione e i dati di una matrice di normali da usare durante il rendering. Il parametro di tipo specifica il tipo di dati di ogni coordinata normale. Il parametro stride determina l'offset di byte da una normale alla successiva, consentendo la compressione di vertici e attributi in una singola matrice o archiviazione in matrici separate. In alcune implementazioni che archiviano i vertici e gli attributi in una singola matrice possono essere più efficienti rispetto all'uso di matrici separate; per informazioni dettagliate, vedere glInterleavedArrays .
Una matrice normale è abilitata quando si specifica la costante GL_NORMAL_ARRAY con glEnableClientState. Se abilitato, glDrawArrays, glDrawElements e glArrayElement usano la matrice normale. Per impostazione predefinita, la matrice normale è disabilitata.
Non è possibile includere glNormalPointer negli elenchi di visualizzazione.
Quando si specifica una matrice normale usando glNormalPointer, i valori di tutti i parametri di matrice normali della funzione vengono salvati in uno stato lato client. Poiché i parametri della matrice normali vengono salvati in uno stato lato client, i relativi valori non vengono salvati o ripristinati da glPushAttrib e glPopAttrib.
Anche se non viene generato alcun errore quando si chiama glNormalPointer all'interno di glBegin e glEnd , i risultati non sono definiti.
Le funzioni seguenti sono associate a glNormalPointer:
glGet con argomento GL_NORMAL_ARRAY_STRIDE
glGet con argomento GL_NORMAL_ARRAY_COUNT
glGet con argomento GL_NORMAL_ARRAY_TYPE
glGetPointerv con argomento GL_NORMAL_ARRAY_POINTER
glIsEnabled con argomento GL_NORMAL_ARRAY
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|
Libreria |
|
DLL |
|