4.1.2  Radiosidad con iluminación convencional

Estas imágenes presentan una combinación de iluminación convencional y radiosidad. Más adelante puedes encontrar ejemplos de iluminación de radiosidad pura.

Los siguientes ajustes son los establecidos por defecto, el resultado sería el mismo con un bloque de radiosidad vacío:

  global_settings {
    radiosity {
      pretrace_start 0.08
      pretrace_end   0.04
      count 35

      nearest_count 5
      error_bound 1.8
      recursion_limit 3

      low_error_factor 0.5
      gray_threshold 0.0
      minimum_reuse 0.015
      brightness 1

      adc_bailout 0.01/2
    }
  }

Las imágenes siguientes están dibujadas con los ajustes por defecto y han sido realizadas para presentar la escena de ejemplo.

Todos los objetos excepto el cielo tienen un acabado ambient 0.

El acabado ambient 1 del cielo azul lo hace actuar como una especie de fuente de luz difusa. Esto da un toque azulado a toda la escena en la versión de radiosidad.

sin radiosidad
sin radiosidad
radiosidad (ajustes por defecto)
radiosidad (ajustes por defecto)
diferencia sin radiosidad
diferencia sin radiosidad

Podéis ver que la radiosidad afecta mucho a las partes en sombra cuando se aplica combinada con iluminación convencional.

Cambiando brightness cambiamos la intensidad de los efectos de la radiosidad. brightness 0 sería lo mismo que sin radiosidad. brightness 1 debería funcionar correctamente en la mayoría de los casos, si sus efectos son demasiado fuertes puedes reducirlo. Valores altos producen resultados extraños en la mayoría de los casos.

brightness 0.5
brightness 0.5
brightness 1.0
brightness 1.0
brightness 2.0
brightness 2.0

Cambiar el valor de recursion_limit produce los siguientes resultados, la segunda fila son la diferencia con los valores por defecto (recursion_limit 3):

recursion_limit 1
recursion_limit 1
recursion_limit 2
recursion_limit 2
recursion_limit 5
recursion_limit 5
recursion_limit 1 (diferencia)
recursion_limit 1 (diferencia)
recursion_limit 2 (diferencia)
recursion_limit 2 (diferencia)
recursion_limit 5 (diferencia)
recursion_limit 5 (diferencia)

Podéis ver que valores mayores que el de 3 por defecto no consiguen resultados mucho mejores en una escena tan simple como ésta. En la mayoría de los casos valores de 1 o 2 son suficiente.

El valor error_bound afecta principalmente a las estructuras de las sombras. Valores más altos que el de 1.8 por defecto no tienen demasiado efecto, incluso aplanan más las sombras. Valores extremadamente bajos pueden producir muy buenos resultados pero el tiempo de dibujado puede llegar a ser muy largo. Para los siguientes ejemplos se usó recursion_limit 1.

error_bound 0.01
error_bound 0.01
error_bound 0.5
error_bound 0.5
error_bound 1.0
error_bound 1.0
error_bound 0.01 (diferencia)
error_bound 0.01 (diferencia)
error_bound 0.5 (diferencia)
error_bound 0.5 (diferencia)
error_bound 1.0 (diferencia)
error_bound 1.0 (diferencia)

Relacionado de alguna forma con error_bound tenemos a low_error_factor. Este reduce error_bound durante el último paso de pretrazado. Cambiarlo puede ser útil para eliminar artefactos (1).

low_error_factor 0.01
low_error_factor 0.01
low_error_factor 0.5
low_error_factor 0.5
low_error_factor 1.0
low_error_factor 1.0
low_error_factor 0.01 (diferencia)
low_error_factor 0.01 (diferencia)
        
low_error_factor 1.0 (diferencia)
low_error_factor 1.0 (diferencia)

Los siguientes ejemplos utilizan recursion_limit 1 y error_bound 0.2. Estas tres imágenes ilustran el efecto de count. Es un parámetro de calidad general y precisión que produce una alta calidad y ralentiza el dibujado con valores altos.

count 2
count 2
count 35 (por defecto)
count 35 (por defecto)
count 300
count 300

Otro parámetro que afecta a la calidad es nearest_count. Podéis utilizar valores entre 1 y 20, por defecto es 5:

nearest_count 1
nearest_count 1
nearest_count 5
nearest_count 5
nearest_count 10
nearest_count 10

Una vez más valores altos producen menos artefactos y una apariencia más suave pero ralentizan el dibujado.

minimum_reuse influye en si las muestras previas de radiosidad son reutilizadas durante los cálculos. También afecta a la calidad y suavidad.

minimum_reuse 0.2
minimum_reuse 0.2
minimum_reuse 0.015
minimum_reuse 0.015
minimum_reuse 0.005
minimum_reuse 0.005
minimum_reuse 0.2 (diferencia)
minimum_reuse 0.2 (diferencia)
        
minimum_reuse 0.005 (diferencia)
minimum_reuse 0.005 (diferencia)

Otro valor importante es pretrace_end. Especifica cuántos pasos de pretrace son calculados y por ello tiene una importante influencia en la velocidad. Normalmente valores bajos proporcionan mayor calidad, pero es importante mantenerlo en una buena relación con error_bound.

pretrace_end 0.2
pretrace_end 0.2
pretrace_end 0.04
pretrace_end 0.04
pretrace_end 0.002
pretrace_end 0.002

Íntimamente relacionado con pretrace_end tenemos a always_sample. Normalmente incluso en el trazado final se toman muestras adicionales de radiosidad. Podéis evitarlo añadiendo always_sample off. Esto es especialmente útil si cargas datos de radiosidad previamente calculados con load_file.

always_sample on
always_sample on
always_sample off
always_sample off
always_sample off (diferencia)
always_sample off (diferencia)

El efecto de max_sample es similar a brightness. No reduce el efecto de radiosidad en general pero debilita las muestras con un valor brightness superior al especificado.

max_sample 0.5
max_sample 0.5
max_sample 0.8
max_sample 0.8
por defecto
por defecto

Puedes afectar de forma importante a las cosas con los acabados de los objetos. De hecho esto es lo más importante de la radiosidad. Los objetos normales deberían tener un acabado ambient finish 0 que no es el valor por defecto en POV-Ray y por tanto necesita ser especificado. Los objetos con un valor ambient > 0 emiten luz realmente.

Los valores por defecto usados hasta ahora son diffuse 0.65 ambient 0.

diffuse 0.65 ambient 0.2
diffuse 0.65 ambient 0.2
diffuse 0.4 ambient 0
diffuse 0.4 ambient 0
diffuse 1.0 ambient 0
diffuse 1.0 ambient 0

Finalmente puedes cambiar el cielo en las escenas de exterior con radiosidad. En todos estos ejemplos se ha implementado un objeto esfera. Hasta ahora se ha utilizado finish { ambient 1 diffuse 0 }. Las siguientes imágenes muestran algunas variaciones:

ambient 0 diffuse 1
ambient 0 diffuse 1
ambient 0 diffuse 0 (sin cielo)
ambient 0 diffuse 0 (sin cielo)
gradiente amarillo-azul
gradiente amarillo-azul

(1) N. T.: en el original se emplea la palabra artifact para referirse a cualquier tipo de error o anomalía en la imagen renderizada.