En la última parte, observamos la interacción de determinados materiales con el cálculo de la radiosidad.
En ésta última entrega, veremos el uso de la caché de disco que ha introducido Newtek en la versión 9.5 y cómo se debe utilizar.









Si miramos en las opciones de Iluminación Global, abajo observaremos la opción de caché.

Junto a ella, tenemos la opción de determinar de qué manera se realiza el preprocesado. Ésto lo analizaremos con mayor detalle más adelante .

A continuación tenemos la ruta del archivo de caché. Por defecto, Lightwave creará una carpeta llamada 'radiositycache' en la carpeta de la escena, y en su interior creará un archivo llamado 'nombre de la escena.cache'.

Para usar ésta opción adecuadamente, debemos entender cómo funciona ésta caché a disco. Al realizar el precáculo de la radiosidad, Lightwave almacenará en el archivo de caché los valores obtenidos para los puntos muestreados, con el fín de no tener que recalcularlos posteriormente. Ésto significa que cualquier render posterior de la mísma escena se realizará sin el preproceso de radiosidad, accelerando cuantitativamente el tiempo de render. Ésto nos proporcina una serie de ventajas a la hora de preparar nuestras imágenes, siempre y cuando tengamos en cuenta una serie de factores. Como el precálculo toma información de la iluminación global y la reutiliza, cualquier variación en la posición o color de un material no se reflejará. Como muestra, veamos que pasa si reutilizamos una caché tras haber cambiado el color de algunos objetos.


Como podeis observar, el sangrado de color se ha mantenido, ya que es parte de la iluminación global.


Al mover los objetos, observamos cómo hay zonas en las que no se ha calculado la iluminación global al estar ocluídas, además de mantener la producida por la posición anterior de los objetos.

De qué manera podremos evitar éstos fenómenos? Simple. Borrando la caché tras cualquier cambio que pudiera modificar significativamente la solución de radiosidad.
Si pinchamos sobre el botón 'Clear Radiosity Cache', borraremos el contenido de la mísma, obligando al programa a preprocesar la solución en el siguiente render.

La verdadera potencia de la caché radica en su capacidad para reutilizar (y ampliar) la solución de iluminación global en animaciones. Es aquí donde nos interesa estudiar el modo de preproceso.

Dependiendo de cómo vaya a ser nuestra animación, nos interesará un modo u otro. La verdad es que con Final Gather sólamente tenemos acceso a la caché estática, o lo que es lo mísmo, una caché orientada a animaciónes donde el único elemento que varía con el tiempo es nuestra cámara. En el momento que algo más se mueva, cambie de color, o varíen las condiciones de iluminación, deberemos utilizar la caché animada combinada con Monte Carlo.

La estrategia para un paseo virtual donde sólamente se nos mueva la cámara (o algún elemento que no varíe la iluminación global) es la siguiente:

  • Buscaremos una serie de fotogramas en nuestro recorrido que 'cubran' el máximo posible todos los puntos de nuestro espacio. Esto es, que desde ésos fotogramas podamos ver todos los ángulos y recovecos que se vayan a ver durante todo el recorrido. Éstos suelen ser el primero, el último y algunos intermedios que muestren zonas no cubiertas por ésos dos.
  • Desde ésos puntos precalcularemos la radiosidad usando 'Bake Radiosity Frame', teniendo el modo de preproceso en 'Automatic'. Así, se almacenarán únicamente los puntos que no se hayan cubierto anteriormente, y se refinarán los ya tomados.
  • Pondremos el modo de preproceso a 'Never' y renderizaremos con F10. De éste modo, no se realizará ningun preproceso de radiosidad, pero los puntos que no hayan sido muestreados anteriormente debidos al 'motion blur' o a oclusión, se procesarán durante el render y se guardarán en caché para uso posterior.

Si analizamos cada uno de los modos de preproceso, podremos intuír mejor sus uso:
  • Automatic: Siempre realizará un preproceso, pero reutilizará información anterior.
  • Always: No reutiliza información y preprocesa todos y cada uno de los fotogramas.
  • Never: Nunca preprocesa la radiosidad, pero reutiliza la información yá obtenida, y durante la pasada de render añade puntos no vistos anteriormente.
  • Locked: Nunca preprocesa y no añade puntos nuevos. Útil para render en red donde se comparte la caché. Se debe activar tras usar 'Bake Radiosity Scene'.

Bueno, en principio ésto os debe de valer para mojaros los pies en el Final Gather de Lightwave, pero insisto en que experimentéis y hagáis vuestro propios ensayos, llegando a desarollar vuestra propia metodología.

Si teneis dudas, ya sabéis donde encontrarme... ;)

7 comentarios:

Rodri dijo...

Buen trabajo!! Me ha encantado este tutorial, en serio...me pasaré por aquí más amenudo. Sigue así, buen trabajo

dwr08 dijo...

Me algra ser de ayuda, Rodrigo. Iré compartiendo lo que sé a medida que vaya teniendo tiempo.

Rodri dijo...

Ok, estaré atento. Se me olvidó darte la enhorabuena por el blog: me gusta tanto la forma como el contenido.
Saludos

dwr08 dijo...

De nuevo, muy agradecido ;)

Rodri dijo...

La verdad ahora que repaso tus tutos me queda una duda. No se dónde está el menú para seleccionar el color de la luz por temperatura. No sé si es un plugin que no tengo. Si es así podrías indicarme su nombre?Gracias

Saludos

dwr08 dijo...

Verás Rodrigo, es probable que tengas puesto el selector de colores por defecto de Windows. Vete al menú 'Edit->General Options' de la barra lateral y selecciona en la pestaña 'General->Color Picker->LW_ColrPikr'. Ya verás como ahora tienes selección de colores en tu editor por QuickColor, RGB<->HSV, Tint and Shade, Wavelength y Kelvin. En Kelvin es donde tienes selección por temperatura. Espero haberte resuelto la duda.

Rodri dijo...

Más claro agua. Muchas gracias de nuevo Daniel. Seguiré preguntando dudas en cuanto surjan, a ver si podemos resolverlas (está claro que sí, pq debes de ser una especie de monstruo del LW :p ).
Saludos