Share via


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
GL_INVALID_ENUM
pname non era un valore accettato.
GL_INVALID_OPERATION
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
Gl.h
Libreria
Opengl32.lib
DLL
Opengl32.dll

Vedi anche

glBegin

glEnd

glLight

glMaterial