Função glLightModeliv

A função glLightModeliv define parâmetros de modelo de iluminação.

Sintaxe

void WINAPI glLightModeliv(
         GLenum pname,
   const GLint  *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 inteiros 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 inteiro 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 inteiro 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
GL_INVALID_ENUM
pname não era um valor aceito.
GL_INVALID_OPERATION
A função foi chamada entre uma chamada para glBegin e a chamada correspondente para glEnd.

Comentários

A função glLightModeliv 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 glLightModeliv :

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
Gl.h
Biblioteca
Opengl32.lib
DLL
Opengl32.dll

Confira também

glBegin

glEnd

glLight

glMaterial