>>HOMEPAGE

    Home     Manual       Relatório Técnico         Código Fonte         Downloads        Links Úteis


Voltar para relatório técnico

Versão 0.2 - Tonalização e Iluminação

Nesta versão os objetos são exibidos como sólidos, para isso ao inicializar o ambiente alteramos o comando glPolygonMode(GL_FRONT_AND_BACK, GL_LINE) para glPolygonMode(GL_FRONT_AND_BACK, GL_FILL) .

A tonalização dos objetos toma por base o modelo de Gouraud e é definida através do parâmetro GL_SMOOTH do comando glShadeModel.

Agora além da solidez dos objetos a cena também se alterna entre dia e noite - onde os navios têm luzes acesas - através da configuração de diversos parâmetros de iluminação detalhados a seguir.

Cena - Dia

Para criar o efeito de "luz diurna", na fonte de luz definida, mudamos os parâmetros de ambiente, difusão e especularidade :

GLfloat lightamb[4] = {0.5,0.5,0.5,1.0};
GLfloat lightdif[4] = {0.8,0.8,0.8,1.0};
GLfloat lightesp[4] = {1.0,1.0,1.0,1.0};

Além disso, para obter um efeito mais realista, clareamos a cor de fundo, simulando um fator ambiente ainda maior.

Cena - Noite

Para criar o efeito de "luz noturna", na fonte de luz definida, diminuímos os parâmetros de ambiente, difusão e especularidade:

GLfloat lightamb[4] = {0.1,0.1,0.1,1.0};
GLfloat lightdif[4] = {0.5,0.5,0.5,1.0};
GLfloat lightesp[4] = {0.1,0.1,0.1,1.0};

Luzes acesas

Para criar o efeito de iluminação dentro dos navios, setamos as janelas com uma especularidade bastante alta, ou seja, reflete bastante luz, para isso alteramos os parâmetro de emissividade do material, através do comando:

especularidade[4] = {1.0, 1.0, 1.0, 1.0};
glMaterialfv(GL_FRONT, GL_EMISSION, especularidade);

 

Visão noturna - luzes acesas

Visão diurna - luzes apagadas