3.7.4  El Área de Luz

Sabes que has estado trazando rayos demasiado tiempo cuando ...
... llevas puesta ropa con pelusa para suavizar tu sombra.
-- Mark Kadela

Hasta ahora, todas nuestras luces han tenido una cosa en común: producen sombras muy definidas. Esto es debido a que la fuente de luz actual era un punto infinitamente pequeño. Los objetos están directamente expuestos a la luz, en cuyo caso están completamente iluminados, o no lo están, en cuyo caso están completamente en la sombra. En la vida real, esta clase de luz y sombra extrema sólo existe en el espacio exterior donde la luz directa del sol penetra directamente en la oscuridad total del espacio. Pero en la Tierra, la luz se curva alrededor de los objetos, rebota en ellos, y normalmente la fuente tiene alguna dimensión, lo que significa que puede estar parcialmente oculta a la vista (las sombras no serán ya tan bruscas). Esto es conocido como penumbra, o un área intermedia donde no hay ni luz total ni oscuridad. Para simular esta sombra suave, un trazador de rayos debe dar una dimensión a sus fuentes de luz. POV-Ray lleva a cabo esto con una característica conocida como área de luz.

Las áreas de luz tienen dimensión en los dos ejes. Esto se especifica con los dos primeros vectores en la sintaxis de la área de luz. Nosotros debemos de especificar cuántas luces hay en la matriz. Cuantas más coloquemos, más suaves serán las sombras, pero nos llevará más tiempo de trazado. Normalmente una matriz 3*3 o una 5*5 será suficiente. También disponemos de la opción para especificar un valor de adaptación. La palabra reservada adaptive le dirá al trazador de rayos que puede adaptarse a la situación y enviar sólo los rayos necesarios para determinar el valor de cada píxel. Si no se usa adaptive, se enviará un rayo por cada luz en el área de luz. Esto puede realmente ralentizar el proceso. Cuanto más alto sea el valor de adaptive, más suave será la penumbra, pero más tiempo empleará el trazado. Normalmente un valor de adaptive de 1 es suficiente. Finalmente, es probable que debamos usar la palabra reservada jitter (temblequeo). Ésta le dice al trazador de rayos que mueva ligeramente la posición de cada luz en el área de luz extendida, de forma que las sombras parezcan realmente suaves en lugar de darnos una penumbra formada por franjas de sombras cada vez más claras.

Bien, probémoslo. Comentemos ( // )  las luces cilíndricas y añadimos lo siguiente:

  light_source {
    <2, 10, -3>
    color White
    area_light <5, 0, 0>, <0, 0, 5>, 5, 5
    adaptive 1
    jitter
  }
Tenemos un área de luz blanca centrada en <2,10,-3>. Tiene un tamaño de 5 unidades (a lo largo del eje X) y 5 unidades (a lo largo de eje y) y tiene 25 (5*5) luces. Hemos incluido un adaptive de 1 y jitter. Trazamos esto a 200x150 -A.

Hecho esto, apreciamos dos cosas. El trazado se hace un poco más largo que si lo hacemos con una fuente de luz puntual o cónica y las sombras no están tan marcadas. Todo ello tiene una bonita y suave penumbra a su alrededor. Pero esto se puede mejorar.

¡Las luces puntuales y cilíndricas también pueden ser áreas de luces! ¿Recordamos esas sombras marcadas debido a las luces puntuales de nuestra escena? No tendría mucho sentido usar una matriz 5*5 para una luz puntual, pero una matriz más pequeña podría hacer un buen trabajo, dándonos la cantidad óptima de penumbra para una luz puntual. Probémoslo. Modificamos las luces cilíndricas para que sean como las que siguen:
 

  light_source {
    <2, 10, -3>
    color White
    spotlight
    radius 15
    falloff 18
    tightness 10
    area_light <1, 0, 0>, <0, 0, 1>, 2, 2
    adaptive 1
    jitter
    point_at <0, 0, 0>
  }
  light_source {
    <10, 10, -1>
    color Red
    spotlight
    radius 12
    falloff 14
    tightness 10
    area_light <1, 0, 0>, <0, 0, 1>, 2, 2
    adaptive 1
    jitter
    point_at <2, 0, 0>
  }
  light_source {
    <-12, 10, -1>
    color Blue
    spotlight
    radius 12
    falloff 14
    tightness 10
    area_light <1, 0, 0>, <0, 0, 1>, 2, 2
    adaptive 1
    jitter
    point_at <-2, 0, 0>
  }
Ahora tenemos tres áreas de luces cónicas, de una unidad cuadrada y formadas por una matriz de cuatro (2*2) luces, tres colores diferentes, todas iluminando nuestra escena. Trazamos esto a 200x150 -A. Esto parece un trabajo perfecto. Todas nuestras sombras tienen pequeñas franjas de penumbra, como cabría esperar en un objeto iluminado con una fuente de luz cónica real.