Usando Clamp (Blender Cycles)

Hola, en esta ocasión quería mostrar algunos tips para usar las opciones de Clamp de una manera mas precisa. Es una herramienta para eliminar fireflies que suelen recomendar mucho en foros, grupos, etc. El inconveniente es que se recomienda usar de manera aleatoria, e incluso, en algunos casos los usuarios ajustan por defecto las opciones de Clamp para todos sus renders, lo que es una manera incorrecta de usarlo.

El Clamp eleva los tiempos de render. Si usas por defecto Clamp en todos tus trabajos, estas incrementado los tiempos de render en escenas que quizás no generan fireflies. También si usas valores aleatorios, puedes perder detalles de iluminación necesarios o que valdría la pena mantener.

Clamp001

Para entender de manera mas clara, usaré una escena simple de ejemplo, en la que se generan unos fireflies muy intensos.

Clamp002
Iluminado solo con un Hdr.

Primero debemos averiguar que luz esta generando los fireflies, la DirectLight o IndirectLight?

Para esto deshabilitamos la IndirectLight, disminuyendo Min/Max Bounces a 0.

Clamp003

Cambiamos de Slot en el visor de render, para salvar el primer render.

Clamp005

Ahora podemos renderizar y observar si se generan los fireflies.

Clamp004
Render solo con DirectLight.

Como podemos ver, el render con DirectLight esta limpio, lo que significa que los fireflies los produce la IndirectLight, de esta manera solo necesitamos utilizar ClampIndirect. Para continuar, regresamos  Min/Max Bounces a los valores por defecto o que deseemos.

En la mayoría de las ocasiones solo la IndirectLight nos da problemas de fireflies. En caso de ser por la DirectLight, solamente ajustamos el ClampDirect antes de regresar los Min/Max Bounces a sus valores normales.

Ahora, que valor de ClampIndirect será el mas preciso para usar?

Cada píxel que conforma nuestro render es ´´pintado“ en base a la información del material que asignamos y los rayos de luz que lo iluminan. Cada píxel es renderizado individualmente y los rayos de luz que contribuyen a iluminar 2 pixeles que están juntos pueden ser muy diferentes, un rayo puede contribuir con una fuerza (Strength) de 5.000 y otro con 25.000, por ejemplo, en el caso de un Hdr.

Para ejemplificar mas esto, intentaré averiguar que esta produciendo los fireflies con mas exactitud. Basado en experiencias con otros renders, podría decir que el sol del Hdr me produce los fireflies, solo  falta comprobarlo.

Para esta prueba, voy a sustraer el sol y comprobar si se producen fireflies.

Clamp007

Clamp008

En la imagen podemos ver como el centro del sol sustraído elimina los fireflies y de esta manera confirmar que ciertos rayos de luz de el sol poseen una fuerza (Strength) demasiado alta.

Ahora volvamos al Slot donde se encuentra el primer render y con el scroll incrementamos el tamaño de nuestra imagen, hasta que se vean solo pixeles.

Clamp009
Valor del píxel: 4.2471

Presionamos clic izquierdo y sin soltarlo, podemos recorrer nuestra imagen y obtener información sobre cada píxel que la compone, en este caso nos fijaremos en los pixeles blancos (fireflies). En la parte inferior  nos enfocaremos en el valor de los pixeles. Los valores normales de los pixeles deberían ser entre 0.000 y 1.000, después de 1.000, tenemos una sobreexposición que solo nos es útil en ciertos casos, como por ejemplo, en la reflexión del sol en la esfera (Highlight).

Para entender mejor la equivalencia de estos valores, cambiaré el Hdr por un BackGround color blanco, con una fuerza (Strength) de 200.000

Clamp010
Iluminado solo con un Background. Valor de pixeles= 2.000-4.5000

Como podemos ver, al utilizar un Background todos los pixeles obtienen la misma información de luz  y como resultado, un render totalmente sobreexpuesto. Podríamos decir que ciertos rayos de el sol en el Hdr tienen una fuerza  (Strength) similar a 200.000.

Con el ClampIndirect lo que haremos será limitar el valor de estos pixeles. El problema es que, como todo, esta herramienta se basa en formulas; esto quiere decir que si ajustamos el ClampIndirect en 1.000, no significa que solo evitará que los pixeles superen ese valor, sino que también puede disminuir el valor de otros pixeles que no se acercan  a 1.000 y hacer perder detalles de iluminación.Si usamos un valor alto, por ejemplo 3.000, puede seguir disminuyendo pixeles con valores  que no superan 1.000 y esto es mas visible en las cáusticas.

En el primer Slot dejaré el render con fireflies y para el segundo Slot, ajustaré el ClampIndirect en un valor igual o superior al valor mas alto que encontré en los pixeles, en este caso usaré 5.000

Clamp+J2

Ahora, presionando la tecla en el visor de render, podemos ver los 2 render y comparar si el resultado es satisfactorio.

Información adicional para terminar:

Aprendí que este Hdr que use, genera este problema y a la hora de volver a usarlo, en otra escena, puedo resolver el problema de fireflies mas rápido.

Cada escena puede tener muchas maneras diferentes de eliminar ruido o fireflies, por esto, si alguien sube un render a un foro o grupo solicitando ayuda, es complicado decirle exactamente que ajustar solo viendo la imagen, y lo mas fácil es recomendarle jugar con diferentes opciones.

Los ejemplos que use, fueron exclusivos para esta escena y no un método universal. Si nos interesamos en entender como se genera el ruido de nuestras escenas, con el tiempo nos será mucho mas fácil y rápido reducirlo. Espero no haber creado confusión y que sea de ayuda toda la información.

 

 

 

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Crea un blog o un sitio web gratuitos con WordPress.com.

Subir ↑