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
GL_INVALID_ENUM
tipo non è stato accettato.
GL_INVALID_OPERATION
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
Gl.h
Libreria
Opengl32.lib
DLL
Opengl32.dll

Vedi anche

glArrayElement

glColorPointer

glDrawElements

glDrawArrays

glEnable

glEdgeFlagPointer

glGetPointerv

glIndexPointer

glIsEnabled

glInterleavedArrays

glTexCoordPointer

glVertexPointer

glGetString