|
El tema de los vóxeles está de moda. En cada congreso gráfico, suele haber algún nuevo avanze, estudio, comparativa, etc, sobre esta técnica. En el I3D, NVIDIA ha presentado sus avances, bastante espectaculares, mostrando las ventajas en su último paper sobre el tema. Los vóxeles modernos se basan en un octree, y sobre todo, un algoritmo de recorrido que tiene similitudes con el del kdtree (ordena los posibles casos, en función de la distancia del rayo). En este paper, nos definen un completo pipeline para renderizarlos. Nos explica cómo define los nodos dentro del octree, que contienen un par de planos que delimitan a la geometría que representan. A esto le denomina "contornos". Con esta información, se puede acotar el espacio vacío de los vóxeles, y la representación es más limpia. Además, los contornos se pueden acumular, ya que el contorno de los nodos padre, es la suma de los contornos de los hijos. El paper nos muestra el pseudocódigo para lanzar los rayos de forma eficiente, esquivando el espacio vacío de los contornos. También explican cómo han implementado la pila para la recursión, un tema clave en la GPU, por sus problemas con la memoria local. Usando la tarjeta, se puede optimizar bastante realizando un render previo, y usando su profundidad como punto de partida de la recursión. Esto permite eliminar muchos cálculos en el recorrido del voxel, esquivando de golpe mucho espacio vacío. En este vídeo podéis ver el resultado final.
|