PIZiadas gráficas

PIZiadas gráficas

Mi mundo es la imagen.

Introducción visual a Shaders y Modelos de iluminación [ Blogs experimentales ] [ Blender ]

Las imágenes sintéticas, como las que estamos calculando con Blender, son renderizadas con diferentes tipos de algoritmos; los resultados obtenidos varían la representación final de los objetos en la escena.

Hay que distinguir entre dos aspectos diferentes a la hora de estudiar en detalle el proceso de creación de imágenes, desde el punto de vista del programa informático que utilicemos o estemos programando, y que nos conduce a estructurar en métodos o técnicas computacionales.

Desde el punto de vista de un usuario, estas nociones nos permiten entender las opciones que nos brinda un programa y anticipar el efecto de las mismas.

Desde un punto de vista de programación de aplicaciones es básico su comprensión para su correcta implementación.

  1. Respecto de la idealización del problema
    • Métodos basados en el espacio de imagen
    • Técnicas de trazados de rayos.
  2. La representación de una superficie se puede realizar proyectando dicha superficie sobre un plano de proyección o trazando rayos que lo intersecten y analizando las colisiones de estos rayos con los elementos de la escena. Esto nos permite plantear dos tipos de métodos de trabajo:

  3. Respecto de la forma de programar
  4. Los programas pueden ejecutarse en el procesador del ordenador, o bién en la tarjeta gráfica y otros sistemas específicos para procesamiento de imagen. De nuevo podemos plantear dos líneas de análisis:

    • Algoritmos clásicos incorporados en los programas
    • Modernos lenguajes de sombreado, que pueden compilarse independientemente.

Diferenciamos entre el modelo de idealización y la implementación en forma de algoritmos, lenguajes y programas.

Haremos como siempre una primera aproximación visual a los conceptos; posteriormente iremos desarrollando los mismos aplicándolos a casos de estudio con blender como herramienta de generación de imagen de síntesis y finalmente veremos modelos de cálculo prácticos.

El objetivo inicial por tanto es ir acostumbrándonos a un nuevo vocabulario (propio de estos temas) además de crear a la vez unas expectativas que estimulen nuestra creatividad.

El primer paso es ver unos ejemplos sobre los que analizar diferencias que se producen en las imágenes, como técnica que nos aproxime al concepto de “Sombreado”.

Supongamos que tenemos un simple modelo como una cabeza formada por un reducido número de polígonos. (Usaremos el “Monkey” que tiene blender como primitiva)

Hemos añadido un material al objeto, en el que podemos definir el color del mismo. También indicaremos que las superficies se suavicen para darle un aspecto más realista. La iluminación y el fondo deberán ser el mismo para apreciar mejor las diferencias.

¿Qué cambiaremos entonces? Simplemente el modelo de sombreado. Éste normalmente se definirá asociado a un material concreto, por lo que la imagen final, si contiene varios objetos, puede estar formada gracias a múltiples “modelos de iluminación”.

En particular en Blender es n ecesario definir previamente un material para el objeto y, a continuación, seleccionar el algoritmo de renderizado en la pestaña “Shader” en el modo de edición de materiales.

El algoritmo puede afectar a la iluminación en general, y en particular a la luz especular, pudiéndose realizar diferentes combinaciones según el efecto que se desee obtener.

En los siguientes ejemplos se aprecia la diferencia entre aplicar uno u otro algoritmo. En cada una de las imágenes se especifica el modelo empleado y si a su vez, si el objeto es emisor de luz (autoiluminado)

    Lambert

Es el modelo clásico de iluminación, que se utiliza además didácticamente como referencia en el estudio de los sombreadores o Shaders. Puede ser implementado tanto a nivel de programación básica como con los lenguajes de sombreado, siendo el más sencillo de todos los modelos.

Aporta las ideas básicas de iluminación difusa al objeto.

El primer modelo tiene un color más obscuro que permita determinar claramente la iluminación empleada (ver brillos)

Lambert

    Fresnel

La cantidad de luz difusa reflejada depende del ángulo de incidencia de la luz. Las superfícies orientadas hacia la luz se encuentran oscurecidas, las superfícies que son perpendiculares a la dirección de iluminación por tanto aparecen más brillantes.

Fresnel Emit

    Minnaert

Usa el modelo de “Lambert” como en los sombreados más básicos matizando la zona de brillo, obscureciendo el centro o aclarando los bordes.

Minnaert Emit

    Oren – Nayar

Implementa un modelo de iluminación que tiene en cuenta el comportamiento microscópico de la rugosidad del material.

Oren Emit

    Cartoon

Es un renderizado no realista, en el que se usan pocos colores con fronteras entre la luz y la sombra muy definidas. Su aplicación en dibujos animados es común.

Toon Emit

Una interesante página explicativa de cada uno de estos modos de sombreado se encuentra en la documentación de Blender: Diffuse Shaders

Shader (Wikipedia en)
Shader (Wikipedia es)

Related Posts

  • Cycles : Shaders : Diffuse [ Blender ]Cycles : Shaders : Diffuse [ Blender ] Al hacer la introducción visual a los shaders introducíamos el concepto diciendo: Las imágenes sintéticas, como las que estamos calculando con Blender, son renderizadas con diferentes tipos de algoritmos; los resultados obtenidos varían la representación final de los objetos en la […]
  • Cycles : Shaders : TransparencyCycles : Shaders : Transparency Otro de los “shaders” que incorpora “Cycles” en Blender es “Transparency”. De forma similar al tipo "Glass" permite que la luz atraviese las superficies pero, en este caso, no se produce refracción (desviación) de la luz. Es especialmente útil, en combinación con texturas que actúen […]
  • Animación 3D, Shading: Parámetros de las Texturas [Blogs experimentales] [Blender]Animación 3D, Shading: Parámetros de las Texturas [Blogs experimentales] [Blender] Alrededor de las texturas podemos trabajar un muchos conceptos de gran aplicación en la creación de imágenes de síntesis. Los introduciremos de forma práctica viendo algunos ejemplos ilustrativos, pero podemos ir realizando clasificaciones que nos ayuden a estructurar esta rica variedad […]
  • Cycles : Bump mapping : DisplacementCycles : Bump mapping : Displacement Las texturas en Blender, con el motor de renderizado "Cycles", pueden incorporar un canal denominado "Displacement" que aporta rugosidad a las superficies. Existen dos técnicas diferentes: "Bump mapping" o Mapeado topológico "Displacement mapping" o Mapeado por desplazamiento.
  • Animación 3D, Shading: Editar o Añadir un Material [Blogs experimentales] [Blender]Animación 3D, Shading: Editar o Añadir un Material [Blogs experimentales] [Blender] La textura más simple que se puede utilizar en un objeto es una imagen sobre su superficie, sustituyendo el color liso del objeto por los correspondientes de la imagen utilizada. Para añadir una imagen a la superficie de un objeto deberemos entrar en el modo de edición de materiales […]
  • Animación 3D, Luces: Sombras [ Blogs experimentales ] [ Blender ]Animación 3D, Luces: Sombras [ Blogs experimentales ] [ Blender ] Las luces y las sombras que producen sobre los objetos, son elementos fundamentales de una escena de animación. Su uso debe ajustarse con fineza ya que son fuente de un aumento importante en la complejidad del cálculo. Algunos sistemas limitan el número de puntos de iluminación ya […]