Função glLightf
A função glLightf retorna valores de parâmetro de origem leve.
void WINAPI glLightf(
GLenum light,
GLenum pname,
GLfloat param
);
-
light
-
O identificador de uma luz. O número de luzes possíveis depende da implementação, mas pelo menos oito luzes têm suporte. Eles são identificados por nomes simbólicos do formulário GL_LIGHTi onde i é um valor: 0 a GL_MAX_LIGHTS - 1.
-
Pname
-
Um parâmetro de fonte de luz de valor único para luz. Os nomes simbólicos a seguir são aceitos.
Valor Significado - GL_SPOT_EXPONENT
O parâmetro param é um único valor de ponto flutuante que especifica a distribuição de intensidade da luz. Os valores de ponto flutuante são mapeados diretamente. Somente os valores no intervalo [0, 128] são aceitos.
A intensidade de luz efetiva é atenuada pelo cosseno do ângulo entre a direção da luz e a direção da luz até o vértice que está sendo iluminado, elevado à potência do expoente spot. Assim, expoentes spot mais altos resultam em uma fonte de luz mais focada, independentemente do ângulo de corte de ponto. O expoente spot padrão é 0, resultando em distribuição de luz uniforme.- GL_SPOT_CUTOFF
O parâmetro param é um único valor de ponto flutuante que especifica o ângulo máximo de propagação de uma fonte de luz. Os valores de ponto flutuante são mapeados diretamente. Somente os valores no intervalo [0, 90] e no valor especial 180 são aceitos.
Se o ângulo entre a direção da luz e a direção da luz para o vértice que está sendo iluminado for maior que o ângulo de corte de ponto, a luz será completamente mascarada. Caso contrário, sua intensidade é controlada pelo expoente spot e pelos fatores de atenuação. O corte de ponto padrão é 180, resultando em distribuição de luz uniforme.- GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION
O parâmetro param é um único valor de ponto flutuante que especifica um dos três fatores de atenuação leve. Os valores de ponto flutuante são mapeados diretamente. Somente valores não negativos são aceitos.
Se a luz for posicional, em vez de direcional, sua intensidade será atenuada pela recíproca da soma de: o fator constante, o fator linear multiplicado pela distância entre a luz e o vértice que está sendo iluminado e o fator quadrático multiplicado pelo quadrado da mesma distância. Os fatores de atenuação padrão são (1,0,0), resultando em nenhuma atenuação. -
param
-
Especifica o valor para o qual o parâmetro pname da luz da fonte de luz será definido como.
Essa função não retorna um valor.
Os códigos de erro a seguir podem ser recuperados pela função glGetError .
Nome | Significado |
---|---|
|
light ou pname não era um valor aceito. |
|
Um valor de expoente spot foi especificado fora do intervalo [0, 128], ou o corte spot foi especificado fora do intervalo [0, 90] (exceto pelo valor especial 180) ou um fator de atenuação negativo foi especificado. |
|
A função foi chamada entre uma chamada para glBegin e a chamada correspondente para glEnd. |
A função glLightf define o valor ou os valores dos parâmetros de fonte de luz individuais. O parâmetro light nomeia a luz e é um nome simbólico do formulário GL_LIGHTi, em que 0 = i< GL_MAX_LIGHTS.
O parâmetro pname especifica um dos parâmetros de fonte de luz, novamente por nome simbólico. O parâmetro param é um único valor ou um ponteiro para uma matriz que contém os novos valores.
O cálculo de iluminação é habilitado e desabilitado usando glEnable e glDisable com GL_LIGHTING de argumento. Quando a iluminação está habilitada, as fontes de luz habilitadas contribuem para o cálculo de iluminação. A fonte de luz i está habilitada e desabilitada usando glEnable e glDisable com o argumento GL_LIGHTi.
É sempre o caso que GL_LIGHTi = GL_LIGHT0 + i.
As seguintes funções recuperam informações relacionadas à função glLightf :
glIsEnabled com GL_LIGHTING de argumento
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho |
|
Biblioteca |
|
DLL |
|