Animación Interpolada para Modelos de Quake 2

En un artículo anterior les comentaba que había estado desarrollando un programa para cargar y dibujar modelos del juego “Quake 2” de Id Software. En dicho artículo les mencionaba, a grandes rasgos, el contenido del archivo y cómo éste representa las animaciones mediante el uso de keyframes.

Hasta el momento, el rendering de la animación era realizado sin interpolar entre keyframes, lo cual causaba que la animación se viera un poco tosca. Ayer estuve trabajando en agregar interpolación entre keyframes; El resultado fue un gran suavizado del proceso de animación.

Dejo un nuevo video a continuación. En él podrás notar que, incluso animando a tan solo 2 frames por segundo, pero interpolando, la animación se ve mucho más continua, a pesar de que el video anterior se había generado a 10 frames por segundo.



¿Notas la diferencia? El costo que tenemos que pagar por la interpolación ciertamente es un aumento en el overhead de CPU que tenemos para dibujar cada cuadro.

En el caso particular de éste modelo, cada keyframe se compone de 610 triángulos, cada triángulo de 3 vértices y cada vértice de 5 floats. Así (solo para dibujar éste modelo), entre cada cuadro, tendremos que interpolar ni más ni menos que ¡9150 floats! un proceso relativamente costoso que además aumenta con cada modelo adicional que queremos dibujar.

Como suele suceder en todo lo que tiene que ver con Computación Gráfica, la mejora en el realismo visual se financia a razón de performance. En este caso, no queda duda que el costo en términos de CPU es bien compensado por la mejora visual.

This entry was posted in C++, Computación Gráfica, OpenGL, Quake. Bookmark the permalink.

One Response to Animación Interpolada para Modelos de Quake 2

  1. Leonardo Val says:

    Muy bueno. Es un lindo detalle también el incluirle la música original del juego al video.

Comments are closed.