13.07.2015 Views

Capítulo X: Introducción

Capítulo X: Introducción

Capítulo X: Introducción

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 5: Despliegue Multi-resoluciónde su bounding box [LJU06C]. El programa de fragmento debe tratar elrayo completamente desde que entra al volumen hasta que sale. Cadarayo, durante su travesía, pasa por distintos bricks a distintasresoluciones dentro de la gran textura, por lo que se requiereadicionalmente, una textura de índices que indique la posición de cadabrick, así como su tamaño. Esto facilita la implementación de técnicas deaceleración como terminación temprana de rayo. Sin embargo, hemosencontrado algunas desventajas de este enfoque:• Ausencia de localidad espacial. Cada rayo va a travesando unagran textura, y adicionalmente no en el mismo orden como estáalmacenada.• Debido a que todos los bricks están almacenados en una únicatextura, dificulta la carga de bricks en modo interleaving con elrendering, lo que pude reducir el rendimiento cuando se mueveel punto o área de interés.• La textura de índices requiere de un téxel de 4 flotantes (16bytes) por cada brick del volumen original, lo cual podríasobrepasar las capacidades de memoria de textura paravolúmenes muy grandes con particionamiento fino (ejemplo, undataset de 4096 3 vóxeles con bricks de 16 3 muestras requiereaprox. 512MB de textura de índices).Por las razones mencionadas, en este trabajo, se almacena y se despliegacada brick individualmente en el GPU. Rasterizando las caras frontalesde cada brick, se disparan los programas de fragmentos que representanlos rayos pasando a través del brick. Mediante un ciclo, el rayo esmuestreado a pasos de longitud constante, o puede utilizarse un enfoqueadaptativo. En cualquier caso, el último segmento del rayo dentro delbrick debe ser cortado en la frontera como se muestra en la Fig. 5.2.Algunas implementaciones pueden ser encontradas en trabajos previospara la terminación temprana del rayo con aceleración de hardwaregráfico. Estas se basan en el despliegue inicial de las caras frontales delbrick, con un programa de fragmento simple que en función de laopacidad acumulada en el píxel, coloque en el búfer de profundidad elvalor máximo [KRU03], [RUI06], o un 1 en el esténcil buffer [LEE04]. Deesta manera, en ambos trabajos se afirma que los fragmentos de losfuturos polígonos desplegados pueden ser descartados tempranamente,ya sea por profundidad, o por la prueba de esténcil. Sin embargo, alrevisar el pipeline de OpenGL®, la prueba del esténcil y la prueba deprofundidad se realizan luego que el fragmento es procesado (ver sección2.1). Por lo tanto, el muestreo del búfer de profundidad o del esténcilbúfer tendrán necesariamente que realizarse al comienzo del programade fragmentos, para decidir si éste es descartado o no.-78-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!