funzione glMaterialiv
La funzione glMaterialiv specifica i parametri di materiale per il modello di illuminazione.
Sintassi
void WINAPI glMaterialfv(
GLenum face,
GLenum pname,
const GLint *params
);
Parametri
-
Faccia
-
Il viso o i visi che vengono aggiornati. Deve essere uno dei seguenti: GL_FRONT, GL_BACK o GL_FRONT e GL_BACK.
-
Pname
-
Parametro materiale del viso o dei visi da aggiornare. I parametri che possono essere specificati usando glMaterialiv e le relative interpretazioni dall'equazione di illuminazione sono i seguenti.
Valore Significato - GL_AMBIENT
Il parametro params contiene quattro valori integer che specificano la riflessione RGBA ambientale del materiale. I valori integer vengono mappati in modo lineare in modo che il valore rappresentabile più positivo mappa a 1.0 e il valore rappresentabile più negativo mappa a -1.0. I valori a virgola mobile vengono mappati direttamente. I valori interi o a virgola mobile non vengono bloccati. La riflessione ambientale predefinita per i materiali frontali e posteriore è (0,2, 0,2, 0,2, 0,2, 1,0). - GL_DIFFUSE
Il parametro params contiene quattro valori interi che specificano la riflessione RGBA diffusa del materiale. I valori integer vengono mappati in modo lineare in modo che il valore rappresentabile più positivo mappa a 1.0 e il valore rappresentabile più negativo mappa a -1.0. I valori a virgola mobile vengono mappati direttamente. I valori interi o a virgola mobile non vengono bloccati. La riflessione diffusa predefinita per i materiali frontali e posteriore è (0,8, 0,8, 0,8, 0,8, 1,0). - GL_SPECULAR
Il parametro params contiene quattro valori integer che specificano la riflessione RGBA speculare del materiale. I valori integer vengono mappati in modo lineare in modo che il valore rappresentabile più positivo mappa a 1.0 e il valore rappresentabile più negativo mappa a -1.0. I valori a virgola mobile vengono mappati direttamente. I valori interi o a virgola mobile non vengono bloccati. La riflessione speculare predefinita per i materiali front-front-facing e back-facing è (0,0, 0,0, 0,0, 1,0). - GL_EMISSION
Il parametro params contiene quattro valori interi che specificano l'intensità di luce RGBA generata dal materiale. I valori integer vengono mappati in modo lineare in modo che il valore rappresentabile più positivo mappa a 1.0 e il valore rappresentabile più negativo mappa a -1.0. I valori a virgola mobile vengono mappati direttamente. I valori interi o a virgola mobile non vengono bloccati. L'intensità di emissione predefinita per i materiali frontali e indietro è (0,0, 0,0, 0,0, 1,0, 1,0). - GL_SHININESS
Il parametro param è un singolo intero che specifica l'esponente speculare RGBA del materiale. I valori integer vengono mappati direttamente. Vengono accettati solo valori nell'intervallo [0, 128]. L'esponente speculare predefinito per i materiali frontali e posteriore è 0. - GL_AMBIENT_AND_DIFFUSE
Equivalente a chiamare glMaterial due volte con gli stessi valori di parametro, una volta con GL_AMBIENT e una volta con GL_DIFFUSE. - GL_COLOR_INDEXES
Il parametro params contiene tre valori interi che specificano gli indici di colore per l'illuminazione ambientale, diffusa e speculare. Questi tre valori, e GL_SHININESS, sono gli unici valori materiali usati dall'equazione di illuminazione in modalità indice colore. Fare riferimento a glLightModel per una discussione sull'illuminazione dell'indice di colore. -
params
-
Valore a cui verrà impostato il parametro GL_SHININESS.
Valore restituito
Questa funzione non restituisce un valore.
Codici di errore
I codici di errore seguenti possono essere recuperati dalla funzione glGetError .
Nome | Significato |
---|---|
|
Face o pname non è stato accettato. |
|
È stato specificato un esponente speculare all'esterno dell'intervallo di [0, 128]. |
Commenti
La funzione glMaterialiv assegna valori ai parametri del materiale. Esistono due set corrispondenti di parametri di materiale. Uno, il set anteriore , viene usato per ombreggiaturare punti, linee, bitmap e tutti i poligoni (quando l'illuminazione a due lati è disabilitata) o solo poligoni front-front-front (quando è abilitata l'illuminazione a due lati). L'altro set, di fronte al retro, viene usato per ombreggiaturare poligoni indietro solo quando è abilitata l'illuminazione a due lati. Fare riferimento a glLightModel per informazioni dettagliate sui calcoli di illuminazione a un lato e a due lati.
La funzione glMaterialiv accetta tre argomenti. Il primo, viso, specifica se i materiali GL_FRONT, i materiali GL_BACK o entrambi i materiali GL_FRONT_AND_BACK verranno modificati. Il secondo, pname, specifica quali parametri in uno o entrambi i set verranno modificati. Il terzo parametro, param, specifica il valore assegnato al parametro specificato.
I parametri del materiale vengono usati nell'equazione di illuminazione applicata facoltativamente a ogni vertice. L'equazione viene illustrata in glLightModel.
I parametri del materiale possono essere aggiornati in qualsiasi momento. In particolare, glMaterialiv può essere chiamato tra una chiamata a glBegin e la chiamata corrispondente a glEnd. Se solo un singolo parametro materiale deve essere modificato per vertice, tuttavia, glColorMaterial è preferito rispetto a glMaterialiv.
La funzione seguente recupera informazioni correlate a glMaterialiv:
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|
Libreria |
|
DLL |
|