/* * File: iluminacao.h * Author: artur * * Created on 11 de Dezembro de 2009, 20:31 */ #ifndef _ILUMINACAO_H #define _ILUMINACAO_H #include #include #include void iniciaIluminacao(void){ /** define a cor do material * * GL_COLOR_MATERIAL: * Mistura as texturas com a cor atual, fazendo com que * elas fiquem mais escuras. Se a cor for branca, a textura * nao se modifica, por que a intensidade do branco ja eh * a maxima permitida. */ glEnable(GL_COLOR_MATERIAL); //habilita o uso de iluminação glEnable(GL_LIGHTING); //Habilita o uso de luz # glEnable(GL_LIGHT0); //habilita o depth-buffering glEnable(GL_DEPTH_TEST); //habilita a colorizacao por gouraud glShadeModel(GL_SMOOTH); } void iluminaAmbiente(void){ GLfloat luzAmbiente[4]={0.3,0.2,0.0,1.0}; //define a cor GLfloat luzDifusa[4]={0.7,0.7,0.7,1.0}; //Define de onde a luz vem GLfloat posicaoLuz[4]={0.0,70.0,30.0,1.0}; //Define o quao brilhoso o mateiral sera GLfloat especularidade[4]={1.0,1.0,1.0,1.0}; GLint especMaterial = 60; //Define a quantidade de reflexo do material glMaterialfv(GL_FRONT, GL_SPECULAR, especularidade); //Define a concentrcao do brilho glMateriali(GL_FRONT,GL_SHININESS,especMaterial); // Ativa o uso da luz ambiente glLightModelfv(GL_LIGHT_MODEL_AMBIENT, luzAmbiente); //Define os parametros da luz de numero 0 glLightfv(GL_LIGHT0, GL_AMBIENT, luzAmbiente); //Tipo de luz glLightfv(GL_LIGHT0, GL_DIFFUSE, luzDifusa); //Onde a luz fica? glLightfv(GL_LIGHT0, GL_POSITION, posicaoLuz); } #endif /* _ILUMINACAO_H */