Capítulo 5: Despliegue Multi-resoluciónT( 0, s,h) T(s) d.s0Calcular las n posibles integrales para C(s) y T(s) puede hacerseincrementalmente. Considerando los valores cuantizados de ss {0, 1/n, 2/n, …k/n, …, n/n},los colores C(s) pueden calcularse incrementalmente comoC(0,k/n,h)C(0,(k1)/n,h) + C((k1)/n, k/n,h). [Ec. 5.15]Asumiendo que el soporte de los trozos de la función de transferenciason al menos de longitud 1/n, C((k1)/n, k/n,h) puede calcularse en untiempo constante. El mismo análisis puede hacerse para el cálculo deT(s).Una vez pre-calculado todas las integrales C(s) y T(s) en tiempo lineal, elcálculo de color y opacidad para cada una de las n 2 entradas en la tablase obtienen mediante:hc(sf,sb,h) C s ) C(s ) (b f,sb sfh T( sb) T( s f ) s s(sf,sb,h) 1eb f. [Ec. 5.16]Por lo tanto, la actualización de la tabla es O(n 2 ). Trabajos siguientesmuestran que la eliminación de la auto-extinción en cada segmento derayo genera artefactos para funciones de transferencias que revelanmúltiples superficies a la vez [ROE02], [LUM04]. Por ejemplo, si variassuperficies intersectan el mismo segmento de rayo, al auto-extincióndentro del segmento juega un papel importante en la determinación delcolor. Así, la investigación se ha basado desde entonces en mejorar eltiempo de respuesta sin la eliminación de la auto-extinción.Roettger and Ertl [ROE02] proponen un método que explota el hardwaregráfico programable para reducir el tiempo de respuesta en laconstrucción de la tabla. El trabajo se basa en el despliegue de mallastetraédricas, por lo que requieren agregar otra variable a la tabla: ladistancia entre muestras. En este caso, la tabla es tridimensional, y elalgoritmo es O(n 4 ). En sus pruebas, la implementación que explota elhardware gráfico logra reducir considerablemente el tiempo de respuestade la versión software, para una tabla de dimensiones 256x256x128. Latabla 3D es codificada en una tabla 2D y accedida mediante coordenadas-90-
Capítulo 5: Despliegue Multi-resolucióncilíndricas para acelerar el acceso durante el rendering, puesto que elmuestreo sobre texturas 2D es notablemente más rápido que sobretexturas 3D.Eric Lum et al. [LUM04] proponen un algoritmo eficiente, considerandola auto-extinción por cada segmento de rayo y h constante. Se basan enla observación inicial que por cada diagonal de la tabla de integrales, serepite el cálculo de pequeñas integrales. Calculando estas pequeñasintegrales una sola vez por diagonal, y combinándolas adecuadamente,se logra reducir la complejidad a O(n 2 ). Para derivar su solución,llamemos a (f,b) los índices de la tabla de dimensión n*n, tal que fb.Estos índices corresponden a las muestras sf f, y sb b, con 1/n.Sustituyendo sf y sb en la Ec. 5.10 se obtienefh f dbhb f Cf, b,h Ced. [Ec. 5.17]b f Por comodidad, escribamos C(f,b,h)=C(f,b,h). Si tomamos un valorintermedio x, con fxb, obtenemosC f , b,h Cf, b,h ehb fhb fhbfhb fx fjxdxfCxfCCeehb fbhbfhbfexC f xfhb fdd d d fxdb f edh xddd. [Ec. 5.18]Note que el color C(f,b,h) de la tabla principal, en el cual se integra sobreel segmento [f,b], depende de integrales en intervalos más pequeños,hpero pesadas por el mismo factor . La clave es que este factor es el( b f ) mismo para todos los elementos de una diagonal de la tabla. Para ladiagonal lésima, los colores C(f,b,h) a calcular son:C(0,l,h), C(1,l+1,h), C(2,l+2,h), …, C(n2l,n2,h), C(n1l,n1,h)-91-