funzione glLightf

La funzione glLightf restituisce i valori dei parametri di origine luce.

Sintassi

void WINAPI glLightf(
   GLenum  light,
   GLenum  pname,
   GLfloat param
);

Parametri

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 a virgola mobile che specifica la distribuzione dell'intensità della luce. I valori 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 a virgola mobile che specifica l'angolo di distribuzione massimo di una sorgente di luce. I valori 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 a virgola mobile che specifica uno dei tre fattori di attenuazione della luce. I valori 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.

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

Commenti

La funzione glLightf 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 glLightf :

glGetLight

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

glColorMaterial

glEnd

glLightModel

glMaterial