Função glLightModelfv
A função glLightModelfv define parâmetros de modelo de iluminação.
Sintaxe
void WINAPI glLightModelfv(
GLenum pname,
const GLfloat *params
);
Parâmetros
-
Pname
-
Um parâmetro de modelo de iluminação. Os valores a seguir são aceitos.
Valor Significado - GL_LIGHT_MODEL_AMBIENT
O parâmetro params contém quatro valores de ponto flutuante que especificam a intensidade RGBA ambiente de toda a cena. Os valores inteiros são mapeados linearmente de modo que o valor representável mais positivo seja mapeado para 1,0 e o valor representável mais negativo seja mapeado para -1,0. Os valores de ponto flutuante são mapeados diretamente. Nem valores inteiros nem de ponto flutuante são fixados. A intensidade padrão da cena ambiente é (0.2, 0.2, 0.2, 1.0). - GL_LIGHT_MODEL_LOCAL_VIEWER
O parâmetro params é um único valor de ponto flutuante que especifica como os ângulos de reflexão especular são calculados. Se param for 0 (ou 0,0), os ângulos de reflexão especular tomarão a direção da exibição para ser paralela e na direção do eixo -z , independentemente do local do vértice nas coordenadas dos olhos. Caso contrário, reflexões especular são computadas a partir da origem do sistema de coordenadas oculares. O padrão é 0. - GL_LIGHT_MODEL_TWO_SIDE
O parâmetro params é um único valor de ponto flutuante que especifica se cálculos de iluminação lado a lado ou de dois lados são feitos para polígonos. Ele não tem efeito sobre os cálculos de iluminação para pontos, linhas ou bitmaps. Se param for 0 (ou 0,0), a iluminação unilateral será especificada e somente os parâmetros de material frontal serão usados na equação de iluminação. Caso contrário, a iluminação de dois lados será especificada.
Nesse caso, os vértices de polígonos voltados para trás são iluminados usando os parâmetros do material traseiro e têm seus normais invertidos antes que a equação de iluminação seja avaliada. Os vértices de polígonos frontais são sempre iluminados usando os parâmetros de material frontal, sem nenhuma alteração em seus normais. O padrão é 0. -
params
-
Um ponteiro para o valor ou valores para os quais os parâmetros serão definidos .
Retornar valor
Essa função não retorna um valor.
Códigos de erro
Os códigos de erro a seguir podem ser recuperados pela função glGetError .
Nome | Significado |
---|---|
|
pname não era um valor aceito. |
|
A função foi chamada entre uma chamada para glBegin e a chamada correspondente para glEnd. |
Comentários
A função glLightModelfv define o parâmetro do modelo de iluminação. O parâmetro pname nomeia um parâmetro e param fornece o novo valor.o valor ou os valores de parâmetros de fonte de luz individuais.
No modo RGBA, a cor iluminada de um vértice é a soma da intensidade de emissão de material, o produto da reflexão ambiente material e a intensidade ambiente de cena inteira do modelo de iluminação e a contribuição de cada fonte de luz habilitada. Cada fonte de luz contribui com a soma de três termos: ambiente, difuso e especular.
- A contribuição da fonte de luz ambiente é o produto da reflexão ambiente material e da intensidade ambiente da luz.
- A contribuição difusa da fonte de luz é o produto da reflexão difusa material, da intensidade difusa da luz e do produto de ponto do normal do vértice com o vetor normalizado do vértice para a fonte de luz.
- A contribuição da fonte de luz especular é o produto da reflexão especular material, da intensidade especular da luz e do produto de pontos dos vetores normalizados de vértice para olho e vértice para luz, elevados ao poder da brilho do material.
Todas as três fontes de luz contribuições são atenuadas igualmente com base na distância do vértice até a fonte de luz e na direção da fonte de luz, propagam o expoente e espalham o ângulo de corte. Todos os produtos de ponto serão substituídos por zero se forem avaliados como um valor negativo.
O componente alfa da cor iluminada resultante é definido como o valor alfa da reflexão difusa material.
No modo de índice de cores, o valor do índice iluminado de um vértice varia do ambiente aos valores especular passados para glMaterial usando GL_COLOR_INDEXES. Coeficientes difusos e especulares, calculados com uma ponderação (.30, .59, .11) das cores da luz, a brilho do material e as mesmas equações de reflexão e atenuação como no caso RGBA, determinam o quanto acima do ambiente o índice resultante está.
As seguintes funções recuperam informações relacionadas à função glLightModelfv :
glGet com GL_LIGHT_MODEL_LOCAL_VIEWER de argumento
glGet com GL_LIGHT_MODEL_TWO_SIDE de argumento
glIsEnabled com argumento GL_LIGHTING
Requisitos
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 |
|