Tratamiento de planos infinitos con Raytracing

Hasta el momento los únicos objetos que hemos utilizado en el desarrollo del raytracing han sido las esferas. Las esferas son bastante fáciles de calcular y permiten apreciar bien los efectos de iluminación en las escenas, sombras y reflexiones, pero una escena sólo a partir de esferas es bastante aburrida. En este artículo empezaremos a tratar con otros objetos diferentes. Para empezar, los planos infinitos.

Estos fotogramas muestran la evolución de nuestro programa de raytracing a lo largo de los artículos que llevamos publicados. Pero hay un par de detalles que aparecen en estas escenas y que no hemos explicado aún: los cilindros y los planos infinitos. Hay una razón para ello, y es que las esferas son objetos muy simétricos, que tienen la misma forma independientemente de su orientación, mientras que el cilindro y el plano tienen una orientación definida. En estos casos, nos será más conveniente definir un sistema de ejes para cada objeto, aparte de su posición y otras características propias del objeto (las esferas y los cilindros tienen un "radio", mientras que los planos no). En realidad, un "sistema de referencia" completo se compone de tres ejes más una posición relativa a otro sistema de referencia, normalmente el llamado sistema de referencia "global" o "mundo", con lo que podemos diferenciar ya entre tres tipos diferentes de sistemas de referencia (que abreviaremos como SR): el SR de global, el SR de la cámara y el SR de los objetos. Más adelante, al aplicar texturas, nos será muy útil que incluso las esferas tengan un SR propio, ya que entonces se rompe la simetría esférica.

Planos perpendiculares a los ejes

Planos en cualquier dirección

El parámetro ‘d’

El programa de ejemplo

  Siguiente