Foro de elhacker.net

Media => Diseño Gráfico => Mensaje iniciado por: Hartigan en 16 Diciembre 2011, 19:07 pm



Título: Duda OpenGL
Publicado por: Hartigan en 16 Diciembre 2011, 19:07 pm
Hola, no se si esto va a aquí o donde, así que si no va aquí pido disculpas.

Os comento rápidamente, tengo una esfera, la cual quiero que se desplace arriba y abajo y a la vez vaya rotando. El código que tengo es el siguiente.

Código
  1. glPushMatrix();
  2. glEnable(GL_TEXTURE_2D);
  3. //glMatrixMode(GL_TEXTURE);
  4. glLightfv(GL_LIGHT1, GL_POSITION, PosicionLuz1);
  5. glTranslatef(-15.0f, 0.0f, 0.0f);
  6.  
  7.  
  8. //glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
  9.  
  10. if(tipo == 1) {
  11. glRotatef(yRot, 0.0f, 1.0f, 0.0f);
  12.  
  13. glBindTexture(GL_TEXTURE_2D, texture[0]);
  14. }
  15. else if(tipo == 2) {
  16. glRotatef(-yRot, 0.0f, 1.0f, 0.0f);
  17. glBindTexture(GL_TEXTURE_2D, texture[1]);
  18. }
  19.  
  20. GLUquadricObj*  p = gluNewQuadric();
  21. gluQuadricDrawStyle(p,GLU_FILL);
  22. gluQuadricNormals(p,GLU_SMOOTH);
  23. gluQuadricTexture(p,GL_TRUE);
  24. gluSphere(p,3, 50, 50);
  25. gluDeleteQuadric(p);
  26. //glMatrixMode(GL_MODELVIEW);
  27.  
  28. glDisable(GL_TEXTURE_2D);
  29. glEnd();
  30. glFlush();
  31.  
  32. glPopMatrix();


Bueno en realidad son 2 esferas con una textura, por eso dependiendo del tipo, si es una u otra le aplico una u otra textura. Con ese código me las crea, le añade la figura y giran, cada una en un sentido. Además las desplaza una a la izquierda y otra a la derecha:

 (esfera izquierda) O  (en el centro va otra figura)  O (esfera derecha)

Como puedo hacer para que ambas se desplacen hacia arriba un poco y vuelvan hacia su posición inicial?? es decir que vayan subiendo y bajando....

Salu2.