Nunca seré élite!! :-(

Qué lío, todo el día tratando de pintar cuatro objetos cargados de un ASE, y me salen normales poco normales. O algo. A estas horas ya no me acuerdo de si MAX intercambiaba las coordenadas Y y Z, o si era mi imaginación la que lo hacía.

Creo que también he olvidado activar algo en el código de inicialización de openGL; parece como si no hiciera el test de profundidad o algo así (el depth test), y los objetos aparecen raros, como mínimo. Pero si activo el depthTest, empiezo a obtener una serie de parpadeos de lo más marciano, supongo que por la precisión del Z-buffer. Mira que lo puse a 24 bits, creo, pero no sé. Como no sea la función de Depth, que en vez de GL_LESS sea otra... pero mirando en la documentación dice que a) el gldepth está desactivado por defecto b) la función de glDepth por defecto es GL_LESS. En fin, que tengo un cacao mental impresionante.

Sale raro, ¿eh? Help!

Luego he tratado de acordarme de cómo se hacía la inversa de una matriz y me ha costado, bastante bastante. ¡¡Con la de inversas de matrices que he hecho en mi vida!! (Por no hablar de integrales y derivadas, mi pasatiempo en bup xD), y ya ves, pasas un año sin hacer algebra 3D y se te olvida todo. Por poner un ejemplo de lo que se me había olvidado, estaba tratando de recalcular las normales a un triángulo usando sólo dos puntos del triángulo. Así: N = v1 x v2.

¡Lo cual está claramente más que mal! La normal al triángulo es un vector perpendicular al mismo, y para eso necesitas dos vectores que determinen el plano en el que está el triángulo. Al rato me he acordado de que esos vectores se pueden hallar... con los tres puntos del triángulo... V1 = P3-P1 y V2 = P2-P1, o así. Luego le haces el producto vectorial y lo normalizas, y ya lo tienes listo para openGl. Eh, pero me ha costado un horror hacer eso.

Ha sido como tener que aplicarme una autohipnosis mental: te acuerdas de todo, te acuerdas de todo, lo tienes superfresco en la memoria, Gauss Jordan es tu amigo, ¡vivan los adjuntos de las matrices! ¡Determinante for president!

Yo no sé a quién se le ocurrió lo del realismo 3D. ¡Con lo bien que se vive con el sombreado flat! Boh! ¡Nunca seré élite!