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.
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.