SoloCodigo
Programación Específica => Programación de Videojuegos => OpenGL => Mensaje iniciado por: Perla_kiko en Viernes 7 de Octubre de 2005, 12:16
-
Hola trabajo con esta funcion y me gustaria saber como saber en que posicion tengo el dibujo para trasladar el eje dependiendo de este valor que busco
-
Creo que no puedes saber en que posicion tienes el dibujo porque con glTranslate lo que haces es modificar la matriz que es como si fuera un cursor.
Yo creo que lo mejor es asociar a cada objeto su posicion correspondiente que iremos modificando convenientemente y luego situar la matriz en el lugar de la posicion del objeto.
Aunque tambien si quieres trasladarlo a un lugar concreto tienes que reiniciar antes en la posicion de origen con glLoadIdentity();
si quieres dibujar algo en la posición 200,422,42
glLoadIdentity();
glTranslatef(200,422,42);
-
más exactamente lo que yo quiero es primero dibujo desde un punto que ya he hecho, hasta aqui ningun problema. Pero depues quiero poder hacer rotar la escena desde varios puntos , es decir tendria que cambiar el punto (0,0,0) a otro lugar, para que cuando me rote el objeto lo haga desde otro eje central, no se si me explico
Imagina te que tienes dos lineas y un cuadrado que la une
pues yo quiero poder rotar desde el centro del cuadrado y despues cambiar y rotar desde la punta de un de la lineas o desde la otra punta
-
Lee algo de matrices, transformaciones y del modelo ModelView en OpenGL, recomendable el red - blue book, la superbiblia o el OpenGL referece Guide.
Camilo.
Rune GameDev (http://runegamedev.awardspace.com/)
Grupo PENTEX