11.07.2015 Views

OpenGL Avançado

OpenGL Avançado

OpenGL Avançado

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Para se especificar as coordenadas de textura para cada vértice utiliza-se o comando glTexCoord*().void glTexCoord{1234}{sifd}(TYPE coords);void glTexCoord{1234}{sifd}v(TYPE *coords);Este comando seta as coordenadas de textura corrente (s, t, r, q). Vértices definidos na seqüência comglVertex*() fazem uso do valor corrente de textura. Geralmente utiliza-se o comandoglTexCoord2f() para definir as coordenadas s e t. Coordenadas de textura são multiplicadas pela matrizde textura antes que o mapeamento ocorra. Por default esta matriz é a identidade. A matriz de textura podeconter vários tipos de transformações como rotações, translações, perspectivas, etc. Para aplicartransformações nesta matriz deve-se setar a matriz de textura como corrente com o comandoglMatrixMode(GL_TEXTURE). Com isso pode-se simular a rotação de uma textura sobre umasuperfície.(0,1) (1,1)(0,0)(1,0)Textura(0,3) (5,3)(0,0)(5,0)Mapeamento da textura. Adaptada de [3]Um programa que usa textura tem a seguinte estrutura. Para maiores detalhes, veja o demo de textura.int tex_id;void init(){glGenTextures( 1, &tex_id );glBindTexture( GL_TEXTURE_2D, tex_id );glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);...1

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

Saved successfully!

Ooh no, something went wrong!