Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2015, 18:01
KikoSalinas
 
Fecha de Ingreso: mayo-2013
Ubicación: Granada
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Texturas en OpenGL

Hola a todos,

tengo un problema al cargar las texturas en OpenGL. Trato de hacerlo con glCoordPointer y glDrawElements. El caso es que la textura se me repite, cuando creo que no debería hacerlo.

Código C++:
Ver original
  1. float vertices[12] = {0.0,0.0,0.0, 0.0,10.0,0.0, 10.0,0.0,0.0, 10.0,10.0,0.0};
  2. int caras[6] = {0,1,2, 1,3,2};
  3. double texcoords[8] = {0,0, 0,1, 1,0, 1,1};
  4.  
  5. glEnableClientState(GL_VERTEX_ARRAY);
  6. glEnableClientState( GL_TEXTURE_COORD_ARRAY );
  7. glVertexPointer(3, GL_FLOAT, 0, vertices);
  8. glTexCoordPointer(2, GL_DOUBLE, 0, texcoords);
  9.  
  10. glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
  11. glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, caras);
  12.  
  13. glDisableClientState(GL_VERTEX_ARRAY);
  14. glDisableClientState(GL_NORMAL_ARRAY);

Este código pinta un plano con una textura ya cargada de antemano pero la textura se repite por todo el plano hasta ocuparlo todo. Quiero saber cómo hacer que la textura se redimensione para que ocupe todo el plano. No sé si me he explicado bien.

Gracias de antemano. Un saludo.