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
glPushMatrix(); glEnable(GL_TEXTURE_2D); //glMatrixMode(GL_TEXTURE); glLightfv(GL_LIGHT1, GL_POSITION, PosicionLuz1); glTranslatef(-15.0f, 0.0f, 0.0f); //glColor4f(1.0f, 1.0f, 1.0f, 1.0f); if(tipo == 1) { glRotatef(yRot, 0.0f, 1.0f, 0.0f); glBindTexture(GL_TEXTURE_2D, texture[0]); } else if(tipo == 2) { glRotatef(-yRot, 0.0f, 1.0f, 0.0f); glBindTexture(GL_TEXTURE_2D, texture[1]); } GLUquadricObj* p = gluNewQuadric(); gluQuadricDrawStyle(p,GLU_FILL); gluQuadricNormals(p,GLU_SMOOTH); gluQuadricTexture(p,GL_TRUE); gluSphere(p,3, 50, 50); gluDeleteQuadric(p); //glMatrixMode(GL_MODELVIEW); glDisable(GL_TEXTURE_2D); glEnd(); glFlush(); 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.