funzione glLightModeliv
La funzione glLightModeliv imposta i parametri del modello di illuminazione.
Sintassi
void WINAPI glLightModeliv(
GLenum pname,
const GLint *params
);
Parametri
-
Pname
-
Parametro del modello di illuminazione. I valori seguenti vengono accettati.
Valore Significato - GL_LIGHT_MODEL_AMBIENT
Il parametro params contiene quattro valori interi che specificano l'intensità RGBA ambientale dell'intera scena. 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à predefinita della scena ambientale è (0,2, 0,2, 0,2, 1,0). - GL_LIGHT_MODEL_LOCAL_VIEWER
Il parametro params è un singolo valore intero che specifica come vengono calcolati gli angoli di reflection speculari. Se param è 0 (o 0,0), gli angoli di riflessione speculare prendono la direzione di visualizzazione per essere parallela a e nella direzione dell'asse -z , indipendentemente dalla posizione del vertice nelle coordinate oculari. In caso contrario, i riflessi speculari vengono calcolati dall'origine del sistema di coordinate oculari. Il valore predefinito è 0. - GL_LIGHT_MODEL_TWO_SIDE
Il parametro params è un singolo valore intero che specifica se i calcoli di illuminazione a due lati vengono eseguiti per i poligoni. Non ha alcun effetto sui calcoli di illuminazione per punti, linee o bitmap. Se il param è 0 (o 0,0), viene specificata l'illuminazione a un lato e solo i parametri del materiale anteriore vengono usati nell'equazione di illuminazione. In caso contrario, viene specificata l'illuminazione a due lati.
In questo caso, i vertici dei poligoni indietro vengono illuminati usando i parametri del materiale posteriore e hanno i loro normali invertito prima che venga valutata l'equazione di illuminazione. I vertici dei poligoni frontali sono sempre leggeri usando i parametri del materiale anteriore, senza modifiche alle normali. Il valore predefinito è 0. -
params
-
Puntatore al valore o ai valori a cui verranno impostati i parametri .
Valore restituito
Questa funzione non restituisce un valore.
Codici di errore
I codici di errore seguenti possono essere recuperati dalla funzione glGetError .
Nome | Significato |
---|---|
|
pname non era un valore accettato. |
|
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd. |
Commenti
La funzione glLightModeliv imposta il parametro del modello di illuminazione. Il parametro pname assegna un nome a parametro e param fornisce il nuovo valore.il valore o i valori dei singoli parametri di origine luminosa.
In modalità RGBA, il colore chiaro di un vertice è la somma dell'intensità di emissione del materiale, il prodotto della riflessione ambientale del materiale e l'intensità dell'ambiente di illuminazione full-scene e il contributo di ogni fonte di luce abilitata. Ogni fonte di luce contribuisce alla somma di tre termini: ambiente, diffusione e speculare.
- Il contributo della fonte di luce ambientale è il prodotto della riflessione ambientale del materiale e dell'intensità ambientale della luce.
- Il contributo della fonte di luce diffusa è il prodotto della riflessione diffusa del materiale, l'intensità diffusa della luce e il prodotto punto della normalità del vertice con il vettore normalizzato dal vertice alla fonte di luce.
- Il contributo della fonte di luce speculare è il prodotto della riflettenza speculare del materiale, dell'intensità speculare della luce e del prodotto punto del vertice normalizzato da occhio e vertex-to-light vettori, cresciuti al potere della lucidità del materiale.
Tutti e tre i contributi di fonte luce sono attenuati ugualmente in base alla distanza dal vertice alla fonte di luce e sulla direzione della fonte luminosa, l'esponente di diffusione e l'angolo di taglio distribuito. Tutti i prodotti dot vengono sostituiti con zero se valutano un valore negativo.
Il componente alfa del colore chiaro risultante è impostato sul valore alfa della riflessione diffusa del materiale.
In modalità indice colore il valore dell'indice chiaro di un vertice varia dall'ambiente ai valori speculari passati a glMaterial usando GL_COLOR_INDEXES. Coefficienti diffusi e speculari, calcolati con un peso (.30, .59, .11) dei colori della luce, la lucidità del materiale e le stesse equazioni di riflessione e attenuazione come nel caso RGBA, determinano quanto sopra l'ambiente è l'indice risultante.
Le funzioni seguenti recuperano informazioni correlate alla funzione glLightModeliv :
glGet con argomento GL_LIGHT_MODEL_LOCAL_VIEWER
glGet con argomento GL_LIGHT_MODEL_TWO_SIDE
glIsEnabled con argomento GL_LIGHTING
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|
Libreria |
|
DLL |
|