Duda OpenGL

Iniciado por Hartigan, 16 Diciembre 2011, 19:07 PM

0 Miembros y 1 Visitante están viendo este tema.

Hartigan

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 (cpp) [Seleccionar]

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.