Leggere in inglese

Condividi tramite


funzione glLightModelf

La funzione glLightModelf imposta i parametri del modello di illuminazione.

Sintassi

void WINAPI glLightModelf(
   GLenum  pname,
   GLfloat *param
);

Parametri

Pname

Parametro del modello di illuminazione a valore singolo. Vengono accettati i valori seguenti.

Valore Significato
GL_LIGHT_MODEL_LOCAL_VIEWER
Il parametro param è un singolo valore a virgola mobile che specifica come vengono calcolati gli angoli di reflection speculare. Se il parametro è 0 (o 0,0), gli angoli di riflessione speculare prendono la direzione di visualizzazione in modo che sia 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 param è un singolo valore a virgola mobile che specifica se per i poligoni vengono eseguiti calcoli di illuminazione uno o due lati. Non ha alcun effetto sui calcoli di illuminazione per punti, linee o bitmap. Se param è 0 (o 0,0), viene specificata un'illuminazione laterale e solo i parametri del materiale anteriore vengono utilizzati nell'equazione di illuminazione. In caso contrario, viene specificata l'illuminazione a due lati.
In questo caso, i vertici dei poligoni posteriore vengono illuminati usando i parametri del materiale posteriore e hanno le normali invertite prima che l'equazione di illuminazione venga valutata. I vertici dei poligoni frontali vengono sempre illuminati usando i parametri del materiale anteriore, senza alcuna modifica alle normali. Il valore predefinito è 0.

param

Valore su cui verrà impostato il parametro .

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 è un valore accettato.
GL_INVALID_OPERATION
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd.

Commenti

La funzione glLightModelf imposta il parametro del modello di illuminazione. Il parametro pname assegna un nome a un parametro e un parametro fornisce il nuovo valore.il valore o i valori dei singoli parametri della sorgente luminosa.

In modalità RGBA, il colore chiaro di un vertice è la somma dell'intensità di emissione del materiale, del prodotto della riflessione ambientale del materiale e dell'intensità ambientale full-scene del modello di illuminazione e del contributo di ogni sorgente di luce abilitata. Ogni sorgente di luce contribuisce alla somma di tre termini: ambientale, diffusa e speculare.

  • Il contributo della sorgente di luce ambientale è il prodotto della riflessione ambientale del materiale e dell'intensità ambientale della luce.
  • Il contributo della sorgente di luce diffusa è il prodotto della riflessione diffusa del materiale, dell'intensità diffusa della luce e del prodotto punto della normale del vertice con il vettore normalizzato dal vertice alla sorgente di luce.
  • Il contributo della sorgente di luce speculare è il prodotto della riflessione speculare del materiale, dell'intensità speculare della luce e del prodotto punto dei vettori normalizzati da vertice a occhio e da vertice a luce, alzati alla potenza della lucidità del materiale.

Tutti e tre i contributi alla sorgente di luce vengono attenuati equamente in base alla distanza tra il vertice e la sorgente di luce e la direzione della sorgente luminosa, l'esponente spread e l'angolo di taglio distribuito. Tutti i prodotti punto vengono sostituiti con zero se restituiscono un valore negativo.

Il componente alfa del colore chiaro risultante viene 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 reflection e attenuazione come nel caso RGBA, determinano quanto sopra l'indice risultante è.

Le funzioni seguenti recuperano informazioni correlate alla funzione glLightModelf :

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