|
2. Exibir os objetos em 3D.
glMatrixMode(GL_PROJECTION);
glLoadIdentity();// define projeção perspectiva. Deve ser colocado ANTES do gluLookAt
gluPerspective(AngVisao,1,1,1000);
// Define a posição do observador no cenário 3D
gluLookAt(ObsX,ObsY,ObsZ, 0,0,29, 0,1,0);
glMatrixMode(GL_MODELVIEW);
A seguir algumas destas funções são explicadas.glBegin(GL_POLYGON); // desenha um polígono
glNormal3f(0,-1,0); // define a normal da face (essencial para usar luzes)
glVertex3f(-10.0, -10.0, -10.0); // define os vértices da face
glVertex3f(10.0, -10.0, -10.0);
glVertex3f(10.0, -10.0, 10.0);
glVertex3f(-10.0, -10.0, 10.0);
glEnd; // fim do desenho
AnguloDeVisao: ângulo de visão do observador, especificado em graus;RazaoDaJanela: relação (divisão) entre a largura e a altura da janela OpenGL;LimitePerto: menor distância desejada para um objeto visível. Se a distância entre um objeto e o observador for menor do que este número, este objeto não será visível;
LimiteLonge: maior distância desejada para um objeto visível. Se a distância entre um objeto e o observador for maior do que este número, este objeto não será visível;
Onde,void gluLookAt ( ObsX, ObsY, ObsZ
AlvoX, AlvoY, AlvoZ,
0,1,0 );
ObsX, ObsY, ObsZ: posição do observador;
AlvoX, AlvoY, AlvoZ: posição do ponto para onde o observador está olhando;
0,1,0: Define o lado de cima do cenário 3D.