|
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.
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.
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".
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.
|