6.6.4  Refracción

Cuando la luz pasa a través de una superficie hacia dentro o hacia fuera de un medio denso, la dirección de los rayos de luz cambia. Este cambio de dirección se llama refracción. La cantidad de inclinación o refracción de la luz depende de la densidad del material. Aire, agua, cristal y diamantes, todos tienen diferentes densidades, y por tanto refractan la luz de forma diferente. El valor del índice de refración o ior (index of refraction) es utilizado por los científicos para describir la densidad relativa de las sustancias. El identificador ior en POV-Ray se utiliza en el interior para activar la refracción y especificar el valor del ior. Por Ejemplo:

  object { MiObjeto pigment {Clear } interior { ior 1.5 } }

El valor por defecto de ior es 1.0 y no implica ninguna refracción. El índice de refracción del aire es 1.0, el del agua es 1.33, el del cristal es 1.5 y el del diamante es 2.4.

Normalmente las superficies trasparentes o semi-transparentes en POV-Ray no refractan la luz. Versiones anteriores de POV-Ray requerían que se utilizase el identificador refraction en la declaración de finish para activar la refracción. Esto ya no es necesario. Cualquier ior con un valor diferente de cero activa la refracción.

Además de activar y desactivar la refracción, el antiguo identificador refraction era seguido de un valor en coma flotante comprendido entre 0.0 y 1.0. Los valores entre 0.0 y 1.0 oscurecerían la luz reflectada de una manera que no corresponde a ninguna propiedad física. Bastantes escenas de POV-ray ya han sido creadas con valores intermedios de refracción antes de que este bug fuese descubierto, por eso se ha mantenido esta característica. Una manera mucho más apropiada para reducir la luminosidad de la luz refractada es cambiar el filter o el valor transmit en los colores especificados en la declaración de pigmento (pigment) o utilizar los identificadores fade_power y fade_distance. Ver "Atenuación".

Note: Ninguno de estos identificadores, ni ior ni refraction, hacen por sí mismos que el objeto sea transparente. La transparencia sólo ocurre cuando se tiene un valor diferente de 0 en filter o en transmit en el color.

Los identificadores refraction e ior se especificaban originalmente en finish, pero ahora están apropiadamente definidos en interior. De todas formas se aceptan en finish para mantener la compatibilidad con escenas antiguas y generan un mensaje de alerta.