Visualización
Para mostrar animaciones con sistemas de rastreo, los objetos animados (que pueden consistir de primitivas gráficas como líneas o polígonos) deben ser convertidos y almacenados como mapa de píxels. Un objeto rotatorio puede ser mostrado mediante sucesivas vistas desde posiciones diferentes. La conversión antes mencionada deber ser realizada al menos 10-20 veces por segundo para dar un efecto de suavidad razonable; una nueva imagen debe ser generada en como máximo 100 ms. La conversión actual de un objeto debería tomar una pequeña porción de ese tiempo. Por ejemplo, si tardamos 75 ms, sólo quedan 25 ms para borrar y redibujar el objeto, lo cual no es suficiente y genera un efecto indeseado. Para solucionar este problema se usa el “double buffering”. A modo de ejemplo consideraremos la visualización de una rotación. Asumiremos que las dos mitades del mapa de píxels son image0 e image1, y el proceso sería el siguiente:
Cargar LookUp Table (LUT) para mostrar valores como color de fondo
Convertir objeto en image0 Cargar LUT para mostrar image
Repetir
Convertir objeto en image1 Cargar LUT para mostrar image
Rotar la descripción de la estructura de datos del objeto Convertir objeto en image
Cargar LUT para mostrar image
Rotar la descripción de la estructura de datos del objeto
Hasta (condición de terminación)
Si la rotación y la conversión tarda más de 100 ms, la animación es bastante lenta, pero la transición de una imagen a la siguiente parece instantánea. La carga del LUT suele tardar menos de 1ms.