6.10.5  Técnicas avanzadas

6.10.5.1  Parada automática

Example of the photon autostop option
Ejemplo de la opción de fotón autostop

Para comprender la opción autostop, es necesario entender la forma en que los fotones se lanzan desde las fuentes de luz. Los fotones se disparan en un patrón espiral con densidad angular uniforme. Imaginemos una esfera con una espiral que comienza en uno de sus polos y hace un movimiento espiral hacia el ecuador, en círculos que se incrementan constantemente. Esto implica dos ángulos. El primero, fi, indica hasta qué distancia se ha hecho un progreso en el presente círculo de la espiral. El segundo, zeta, es cuán lejos estamos del polo del ecuador. Ahora, imaginemos esta esfera centrada en la fuente de luz con el polo donde se inician las espirales apuntando hacia el centro del objeto que recibe los fotones. Los fotones se disparan desde la luz en este patrón espiral.

Normalmente, POV no deja de disparar fotones hasta que la caja de acotación del objetivo ha sido cubierta en su totalidad. A veces, sin embargo, un objeto es mucho más pequeño que su caja delimitadora. En estos casos, queremos dejar de disparar si completamos un círculo completo de la espiral sin impactar en el objeto. Desafortunadamente, algunos objetos (como los anillos de cobre), tienen agujeros en el centro, y al disparar al centro del objeto los fotones sencillamente atraviesan el agujero central, engañando de este modo al sistema y haciéndole creer que ya ha terminado. Para evitar esto, el identificador autostop permite especificar lo lejos que debe llegar el sistema antes de que esta característica de auto-parada lo desactive. El valor especificado es una fracción de la caja de acotación del objeto. Los valores válidos van desde 0.0 a 1.0 (0% a 100%). POV continuará disparando fotones hasta que la espiral haya excedido este valor o la caja de acotación haya sido completamente cubierta. Si un círculo completo de fotones falla en impactar el objetivo una vez que la espiral ha superado el umbral de auto-parada, POV dejará de disparar fotones.

La característica autostop tampoco lo detendrá hasta que al menos un fotón haya impactado en el objeto. Esto permite utilizar autostop 0 incluso en objetos que tienen agujeros en el centro.

Nota: Si la fuente de luz se encuentra en el interior de la caja de acotación del objeto, los fotones son disparados en todas direcciones desde la fuente de luz.

6.10.5.2  Radio de búsqueda adaptativo

A menos que los fotones interactúen con el medio, POV-Ray utiliza un radio de búsqueda adaptativo mientras recolecta los fotones. Si no se encuentra el número mínimo de fotones dentro del radio original de búsqueda, el radio se expande y se busca de nuevo. Usar este radio de búsqueda adaptativo puede conseguir reducir la cantidad de tiempo que lleva generar la imagen, al tiempo que resalta los bordes en los patrones de cáustica.

A veces esta técnica de búsqueda adaptativa puede crear artefactos no deseados en los bordes. Para eliminar estos artefactos, se utilizan algunos límites, los cuales pueden especificarse con expand_thresholds. Por ejemplo, si expandir el radio incrementa demasiado la densidad estimada de los fotones (el límite se incrementa por porcentaje, por defecto vale el 20%, o 0.2), la búsqueda expandida se descarta y se usa la búsqueda normal en su lugar. Sin embargo, si se reúne un número demasiado escaso de fotones en la búsqueda expandida (expand_min, por defecto 40), siempre se usará la nueva búsqueda, incluso si esto significa un incremento superior al 20% en la densidad del fotón.

6.10.5.3  Fotones y Dispersión

Cuando se especifica dispersión para el interior de un objeto transparente, los fotones harán uso de ello y mostrarán cáusticas "coloreadas".

6.10.5.4  Guardar y cargar Mapas de Fotones

Es posible guardar y cargar mapas de fotones para acelerar la generación. El mapa de fotones en sí mismo es independiente de la vista, de modo que si se quiere animar una escena que contiene fotones y se sabe que el mapa de fotones no cambiará durante la animación, éste se puede salvar en el primer fotograma y después cargarlo en los fotogramas subsiguientes.

Para guardar el mapa de fotón, se pone la línea

 save_file "miarchivo.ph"

en el bloque photons { } dentro de la sección global_settings.

Cargar el mapa de fotones es igual, pero con load_file en lugar de save_file. No se puede cargar y guardar a un tiempo un mapa de fotones en el archivo POV. Si se carga el mapa de fotón, se cargarán todos los fotones. No se dispararán fotones si se ha cargado el mapa desde un archivo. El resto de las opciones (como gather y radius) siguen siendo necesarias en el archivo de escena de POV y no se cargan con el mapa de fotón.