13.07.2015 Views

Manual de Apoio 2010

Manual de Apoio 2010

Manual de Apoio 2010

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

(a) GL EYE LINEAR(b) GL EYE LINEAR após ligeira rotaçãoFigura 9.5: Função GL EYE LINEAR9.4.3 Sphere MappingAo utilizar o GL SPHERE MAP o OpenGL calcula as coor<strong>de</strong>nadas das texturas <strong>de</strong> tal forma que ficamos coma impressão <strong>de</strong> que o objecto actual está a reflectir a textura que lhe aplicámos. O excerto do programaTexGen.java em baixo exemplifica a utilização da função sphere mapping:gl. glTexGeni ( GL2 .GL_S , GL2 . GL_TEXTURE_GEN_MODE , GL2 . GL_SPHERE_MAP );gl. glTexGeni ( GL2 .GL_T , GL2 . GL_TEXTURE_GEN_MODE , GL2 . GL_SPHERE_MAP );Para obter uma sensação <strong>de</strong> reflexão convincente, uma textura é normalmente adquirida utilizando uma lentefish-eye.Apesar <strong>de</strong> o sphere mapping ter sido substituído pelo cube mapping (Secção 9.5), ainda se encontram algunscasos <strong>de</strong> uso, na medida em que apenas uma textura é necessária, ao contrário do cube mapping on<strong>de</strong> sãonecessárias 6 !. Se apenas queremos dar a sensação <strong>de</strong> reflexão e não realismo, o sphere mapping é uma boaescolha.Um exemplo em que o sphere mapping faz um match perfeito, é o caso das superfícies que não reflectem oambiente <strong>de</strong> forma não espelhada, como por exemplo uma peça <strong>de</strong> metal não uniforme.No programa TexGen.java foi utilizada a imagem <strong>de</strong> fundo (constante em todos os exemplos) para aplicarna textura com a função sphere map. Quando aplicamos transformações, o torus parece reflectir o ambiente(Figura 9.6).9.5 Cube MappingOs últimos dois modos <strong>de</strong> geração <strong>de</strong> coor<strong>de</strong>nadas são o GL REFLECTCION MAP e o GL NORMAL MAP, ambos requerema utilização <strong>de</strong> um tipo especial <strong>de</strong> textura <strong>de</strong> ambiente (environment texture) - o cube map.A Figura 9.7 mostra a disposição das seis texturas nas faces do cube map utilizado no programa CubeMap.java(ver Apêndice C.5).Este mapa será uma aproximação das vistas (frente, trás, esquerda, direita, “tecto” e chão) <strong>de</strong> um cenárioreal. Utilizando o modo GL REFLECTION MAP, é possível criar uma reflexão bastante precisa.9.5.1 Carregamento do Cube MapO cube mapping adiciona 6 novos valores para o primeiro argumento da função glTexImage2D:• GL TEXTURE CUBE MAP POSITIVE X• GL TEXTURE CUBE MAP NEGATIVE X• GL TEXTURE CUBE MAP POSITIVE Y• GL TEXTURE CUBE MAP NEGATIVE Y95

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!