funzione glLighti
La funzione glLighti restituisce i valori dei parametri di origine luce.
void WINAPI glLighti(
GLenum light,
GLenum pname,
GLint param
);
-
light
-
Identificatore di una luce. Il numero di luci possibili dipende dall'implementazione, ma sono supportate almeno otto luci. Sono identificati dai nomi simbolici del modulo GL_LIGHTi dove i è un valore: da 0 a GL_MAX_LIGHTS - 1.
-
Pname
-
Parametro di sorgente di luce a valore singolo per la luce. Vengono accettati i nomi simbolici seguenti.
Valore Significato - GL_SPOT_EXPONENT
Il parametro param è un singolo valore intero che specifica la distribuzione dell'intensità della luce. I valori integer e a virgola mobile vengono mappati direttamente. Vengono accettati solo i valori nell'intervallo [0, 128].
L'intensità effettiva della luce viene attenuata dal coseno dell'angolo tra la direzione della luce e la direzione dalla luce al vertice che viene illuminata, alzata alla potenza dell'esponente spot. Di conseguenza, gli esponenti spot più alti generano una sorgente di luce più evidenziata, indipendentemente dall'angolo di taglio spot. L'esponente spot predefinito è 0, con conseguente distribuzione uniforme della luce.- GL_SPOT_CUTOFF
Il parametro param è un singolo valore intero che specifica l'angolo di distribuzione massimo di una sorgente di luce. I valori integer e a virgola mobile vengono mappati direttamente. Vengono accettati solo i valori nell'intervallo [0, 90], e il valore speciale 180.
Se l'angolo tra la direzione della luce e la direzione dalla luce al vertice illuminato è maggiore dell'angolo di taglio spot, la luce viene completamente mascherata. In caso contrario, la sua intensità è controllata dall'esponente spot e dai fattori di attenuazione. Il cutoff spot predefinito è 180, con conseguente distribuzione uniforme della luce.- GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION
Il parametro param è un singolo valore intero che specifica uno dei tre fattori di attenuazione della luce. I valori integer e a virgola mobile vengono mappati direttamente. Vengono accettati solo valori non negativi.
Se la luce è posizionale, anziché direzionale, la sua intensità viene attenuata dal reciproco della somma di: il fattore costante, il fattore lineare moltiplicato per la distanza tra la luce e il vertice che viene illuminato e il fattore quadratico moltiplicato per il quadrato della stessa distanza. I fattori di attenuazione predefiniti sono (1.0.0), con conseguente assenza di attenuazione. -
param
-
Specifica il valore su cui verrà impostato il parametro pname della luce della sorgente luminosa.
Questa funzione non restituisce un valore.
I codici di errore seguenti possono essere recuperati dalla funzione glGetError .
Nome | Significato |
---|---|
|
light o pname non è un valore accettato. |
|
Un valore esponente spot è stato specificato al di fuori dell'intervallo [0, 128]o è stato specificato un cutoff spot al di fuori dell'intervallo [0, 90] (ad eccezione del valore speciale 180) o è stato specificato un fattore di attenuazione negativo. |
|
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd. |
La funzione glLighti imposta il valore o i valori dei singoli parametri della sorgente di luce. Il parametro light denomina la luce ed è un nome simbolico del formato GL_LIGHTi, dove 0 = i< GL_MAX_LIGHTS.
Il parametro pname specifica uno dei parametri della sorgente di luce, anche in base al nome simbolico. Il parametro param è un singolo valore o un puntatore a una matrice che contiene i nuovi valori.
Il calcolo dell'illuminazione è abilitato e disabilitato usando glEnable e glDisable con l'argomento GL_LIGHTING. Quando l'illuminazione è abilitata, le sorgenti di luce abilitate contribuiscono al calcolo dell'illuminazione. La sorgente luminosa i è abilitata e disabilitata usando glEnable e glDisable con l'argomento GL_LIGHTi.
È sempre il caso che GL_LIGHTi = GL_LIGHT0 + i.
Le funzioni seguenti recuperano informazioni correlate alla funzione glLighti :
glIsEnabled con argomento GL_LIGHTING
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|
Libreria |
|
DLL |
|