Friday, October 26, 2007

Pila de matrices

NOTA: Port falta de medios no puedo subir algunas figuras que se explican en el pizarron por eso solo pongo lo copiado en la computadora, lo siento.

void glPushMatrix(void)

Mete en la pila todas las matrices actuales. La pila usada esta determinada por gl MatrixMode(). Se copia la matriz en el tope de la pila de forma que su contenido se duplica tanto en el tope y la segunda matriz de la pila. Si se meten muchas matrices, se genera un error.


void glPopMatrix(void)

Saca la matrix tope de la pila, destruyendo el contenido de la matriz. la pila viada esta determinada por glMatrixMode(). Si la pila solo contiene una matriz, llamar esta función genera un error.

En el modo MODELVIEW tenemos al menos una pila de 32 matrices
En el modo PROJECTION tenemos al menos una pila de 2 matrices


Figura 01



Realmente la cámara no existe en OpenGL. Dentro del modo PROJECTION solo debe llamarse a LoadIdentity() para limpiar la matrix y a Ortho() o Frustrum(), (o a glePerspective())
Las transformaciones de la cámara realmente devén de realizarse en el modo MODELVIEW. Si no se hace así habrá problemas el calcular la iluminación y la niebla.
La transformacion para crear la proyección oblicua si debe de crearse en el modo PROJECTION.

Labels: ,

1 Comments:

At September 5, 2008 at 7:38 PM , Blogger Johny Miguel said...

esta bien, solo que falto las imagenes, pero me sirvio muchisimo,
Gracias

 

Post a Comment

Subscribe to Post Comments [Atom]

<< Home