jueves, 1 de diciembre de 2011

Animaciones en blender

Usando el programa Blender 2.6a se hizo lo siguiente:

Tomamos la imagen predeterminada "monkey".
Se aplican transformaciones de escalación y traslación para hacer la imagen mas grande. 



Se aplica traslación de vértices para hacer que el chango deje de sonreír y se sorprenda :O (si, la boca le queda asi de soreprendido).


Y finalmente se procede a crear una animación corta simulando que el chango está viendo a su alrededor "sorprendido".


jueves, 17 de noviembre de 2011

Técnicas de sombreado avanzadas y clásicas

Iluminación Local.

Luces que no son extensas, como las reales, sino inextensas, puntuales. Y, por añadidura, se relacionan con los objetos como mónadas aisladas, sin tener en cuenta la interacción entre ellos. Esto explica lo artificioso de muchas de las técnicas que se describirán más adelante y que buscan compensar estas limitaciones.

Las insuficiencias de los métodos de iluminación local se han superado en parte por medio de sistemas de iluminación global que permiten tomar en cuenta la interacción entre objetos. Las dos técnicas principales son el trazado de rayos (ray tracing) y la radiosidad (radiosity)

Rellenado de los triángulos (rastering). Para ello se realizan varias fases de procesamiento por Pixel.
Comprobar si cada nuevo pixel es visible o no (comprobación de profundidad).
Interpolación lineal del color para el nuevo pixel (método de Gouraud).
Si existe una textura definida o transparencia, efectuar la modificación de color correspondiente.
Se trata de la última fase, en ocasiones la más costosa, del proceso, por lo que es la primera que se suele integrar en el hardware gráfico. En esta etapa se trata de asignar colores a los pixels correspondientes al interior de cada triángulo proyectado que cae dentro del área de visualización. Los colores asignados deben calcularse por el método de Gouraud, interpolando linealmente entre los colores de los tres vértices.

Renderizado en Tiempo real

La idea fundamental del procesado en tiempo real es que todos los objetos deben ser descompuestos en polígonos. Estos polígonos serán descompuestos a su vez en triángulos. Cada triángulo será proyectado sobre la ventana bidimensional y rellenado con los colores adecuados para reflejar los efectos de la iluminación, texturas, etc. Una vez se han generado los triángulos, en la pipeline existen dos partes claramente diferenciadas: una primera etapa operaciones realizadas sobre cada uno de los vértices, y después de que éstos se proyecten sobre la ventana, entonces comienza una segunda fase de cálculos realizados para cada pixel cubierto por los triángulos.

Iluminación global.

Son sencillos y rápidos pero proporcionan imágenes muy simples, que no representan adecuadamente el modo en que la luz ilumina los objetos y los espacios. Esto no quiere decir que no sean útiles para un gran número de casos, y es muy importante calibrar adecuadamente que es lo que se necesita, pues puede muy bien ocurrir que un cálculo local proporcione imágenes relativamente esquemáticas pero más adecuadas para la representación de un proyecto.

Los métodos principales que existen en la actualidad pueden considerarse como desarrollos, con diferentes variantes, de los dos métodos principales que surgieron en la década de los 1980, ray tracing (introducido por T.Whitted en 1980) y radiosity (hacia 1984 por varios autores). Una base téorica más firme para los algoritmos y métodos de GI (Global Illumination), vino con la publicación, por Kajiya, en 1986 de la rendering equation, que puede encontrarse en un manual especializado

Trazado de Rayos

El trazado de rayos computa la interacción de la luz desde un punto de vista determinado y es particularmente adecuado para superficies reflectantes. Puede utilizarse como propiedad específica de un determinado material

Radiosidad

Está basado en principios generales que se pueden encontrar en un manual general sobre rendering. En el estadio inicial la escena consta de dos tipos de objetos: objetos que emiten luz y objetos que reciben luz. A partir de aquí, en una primera vuelta, se computa la luz que recibe cada objeto o, en una aproximación más exacta, cada parte de un objeto, según una subdivisión cuya densidad puede precisarse en sucesivas aproximaciones. Cada una de estas partes, según su grado de reflexividad, su orientación y su distancia con respecto a las fuentes de luz original, se convertirá, en una segunda vuelta, en un nuevo emisor de energía lumínica, una fuente de luz secundaria que iluminará a su vez a los objetos que le rodean.

Casi todos los modelos de iluminación necesitan conocer la normal de cada superficie para calcular su color.

El primero, llamado método de Gouraud, efectúa una interpolación a partir de los colores calculados por los vértices del polígono, en los que se conoce la normal. El segundo llamado método de Pong, interpola la normal en el punto en estudio a partir de las normales en los vértices, calculando a continuación el color con la ayuda de esta normal según el modelo de iluminación elegido

Modelo de Reflexión Phong

El modelo de reflexión de Phong es eficiente y suficientemente aproximado a la realidad física para producir buenas imágenes, bajo una variedad de condiciones de luz y propiedades de materiales. Apoya los tres tipos de interacciones material-luz: ambiente, difusa y especular. Si se tiene un conjunto de fuentes puntos, con componentes independientes para cada uno de los tres colores primarios para cada uno de los tres tipos de interacciones material-luz.

Ray Tracing

En muchas formas, ray tracing es una extensión al enfoque de rendering con un modelo de iluminación local. Está basado en la observación previa que, de los rayos de luz saliendo de una fuente, los únicos que contribuyen a la imagen son aquellos que entran el lente de la cámara sintética y pasan por el centro de proyección.

Buffer de Profundidad.

El Z-Buffer se basa en que al generar la posición de un punto en la pantalla la computadora reserve una zona de memoria especial, llamada Z-Buffer, información relacionada con la profundidad del punto que ocupa en la escena representada. Cuando el ordenador representa un nuevo punto consulta el Z-Buffer del píxel que corresponde en pantalla. Si el valor que ya existe en el píxel es mayor que el que posee el nuevo punto, el sistema asume que este último es el visible y lo sustituye en la memoria del Z- Buffer.

Buffer Stencil.

Stencill Buffer es una memoria intermedia que analiza y actualiza píxeles (con sus operaciones) junto con “depth buffer” o buffer de profundidad. Añade planos de bits adicionales para cada píxel además de los bits de color y profundidad.

Stencil buffer es similar al buffer de profundidad en que los dos son colección de planos de bit que no se pueden mostrar. Del mismo modo que el buffer de profundidad asocia a cada píxel de la ventana un valor de profundidad, el stencil buffer asocia su propio valor a cada píxel mostrado. Cuando el buffer de profundidad esta activado los valores de profundidad son usados para aceptar o rechazar fragmentos, del mismo modo los valores de Stencil buffer son usados para aceptar o rechazar fragmentos.

Buffer de Acumulacion

Normalmente se usa un buffer de acumulación para unir las 2 imágenes

Fuentes de Luz

La luz puede dejar una superficie mediante dos procesos fundamentales:
Emisión propia
Reflexión
Normalmente se piensa en una fuente de luz como un objeto que emite luz solo mediante fuentes de energía internas, sin embargo, una fuente de luz, como un foco, puede reflejar alguna luz incidente a esta del ambiente. Este aspecto no será tomado en cuenta en los modelos más sencillos.

Fuentes de Luz Distantes

La mayoría de los cálculos de sombreado requieren la dirección de un punto sobre la superficie a la fuente de luz. Según se mueve a lo largo de la superficie, se debe recomputar este vector para calcular la intensidad en cada punto, una computación que es una parte significativa del cálculo del sombreado. Sin embargo, si la fuente de luz está lejos de la superficie, el vector no cambiará mucho según se mueve de un punto a otro, al igual que la luz del sol da en todos los objetos cercanos entre si con el mismo ángulo.

Fuentes de Color

No solamente las fuentes de luz emiten diferentes cantidades de luz en diferentes frecuencias, pero también sus propiedades direccionales varían con la frecuencia. Por lo tanto, un modelos físicamente correcto puede ser muy complejo. Para la mayoría de las aplicaciones, se puede modelar fuentes de luz en base a tres componentes primarios, RGB, y puede usar cada uno de los tres colores fuentes para obtener el componente de color correspondiente que un observador humano vería.

Luz Ambiente

La luz ambiente ilumina por igual todas las zonas en sombra para simular el efecto de interacción entre objetos que hace que las partes en sombra de los objetos queden parcialmente iluminadas.

En algunos cuartos, las luces se diseñan y ubican para proveer iluminación uniforme en el cuarto. Tal iluminación se logra mediante fuentes grandes con difusores cuyo propósito es esparcir la luz en todas las direcciones. Se puede crear una simulación precisa de tal iluminación, modelando todas las fuentes distribuidas, y luego integrando la iluminación de estas fuentes en cada punto de una superficie reflectora. Hacer tal modelo y generar la escena sería un tarea formidable para un sistema gráfico, especialmente si se desea ejecución en tiempo real. De manera alternativa, se puede ver el efecto deseado de las fuentes: lograr un nivel de luz uniforme en el cuarto. Esta iluminación uniforme se llama luz ambiente. Si se sigue este segundo enfoque, se puede postular una intensidad ambiente en cada punto del ambiente. Por lo tanto, iluminación ambiente se caracteriza por una intensidad Ia, que es idéntica en cada punto de la escena.

Spotlights (direccionales)

Los spotlights se caracterizan por un rango delgado de ángulos por los cuales se emite luz. Se puede construir un spotlight sencillo de una fuente de punto limitando los ángulos de donde la luz de la fuente se puede ver. Se puede usar un cono cuyo ápice está en ps, apuntando en la dirección ls, y cuyo ancho está determinado por el ángulo θ.



http://sabia.tic.udc.es/gc/Contenidos%20adicionales/trabajos/Opengl/tut_opengl_ilumin_raton_text/iluminacion.htm
http://glprogramming.com/red/chapter05.html
http://en.wikipedia.org/wiki/Ray_tracing_(graphics)
http://dac.escet.urjc.es/docencia/GV3D/DocGL4.pdf

lunes, 3 de octubre de 2011

Software fractales HOP

El nombre de este programa de Michael Peters y Randall Scott procede de "Hopalong", un tipo de fractal descubierto a mediados de los 80 por Barry Martin.

Hop es un programa para MS-DOS, pero funciona perfectamente bajo otros sistemas operativos. El acceso a los menús de opciones es sencillo, y las operaciones se pueden realizar con el teclado o con el ratón. La arquitectura de este programa es similar a la de Fractint, pero, excepto por los mapas de color, son totalmente incompatibles entre sí.

Nota: Todos los links que encontré buscando Hop me mandaban al mismo sitio, y el sitio ha cerrado permanentemente.

lunes, 22 de agosto de 2011

Resumen Cronológico

  • La primera computadora que utilizó un CRT (Tubo de Rayos Catódicos) como dispositivo de visualización fueWhirlw ind, construida en el MIT (Instituto Tecnológico de Massachussets) en 1950 para simular vuelos de entrenamiento de los escuadrones de bombarderos de la marina de Estados Unidos.  

  • El primer videojuego de la historia fue creado en 1952, con el nombre de OXO. 

  •  En 1961 un estudiante del MIT, Steve Russell dirigió un equipo que creó el primer videojuego interactivo de naves espaciales. Le tomó al equipo cerca de 200 horas- hombre escribir la primera versión de Spacewar.

  •  Fue en 1963 cuando se creo el primer sistema que permitía la manipulación directa de objetos gráficos y fue el precursor de los sistemas modernos de gráficos por computadora y los programas de diseño asistido por computadora (CAD).

  • En 1966 Sutherland, ejerciendo como profesor en Harvard, junto con Bob Sproull fue el primero en implementar un sistema de realidad virtual, a través del cual, con la ayuda de un casco, los usuarios podían ingresar virtualmente en una habitación y mirar en todas direcciones una vez adentro.

  • En 1968 Tektronix introdujo un CRT con tubo de almacenamiento que permitía retener permanentemente un dibujo hasta que el usuario decidiera borrarlo.

  • En 1970 un estudiante de nombre Edwin Catmull iniciaba sus estudios en la Universidad de Utah, inscribiéndose a la clase de gráficos por computadora de Sutherland.
     
  • A partir de 1970 se comenzaron a introducir los gráficos por computadora en el mundo de la televisión. Computer Image Corporation (CIC) desarrollo sistemas complejos de hardware y software como ANIMAC, SCANIMATE y CAESAR.

  • Uno de los mas importantes avances para los gráficos por computadora apareció en escena en 1971, el microprocesador.

  •  En el mismo año (1971) Nolan Kay Bushnell junto con un amigo creo el Atari.

  •  En la conferencia SIGGRAPH de 1980 fue mostrada una impactante película titulada “Vol Libre”. Se trataba de un vuelo de alta velocidad a través de montañas fractales generadas por computadora.

  • En 1986 se formó Pixar cuando la división de gráficos por computadora de Lucasfilm fue adquirida por Steven Jobs.

  • Terminator 2 fue estrenada en 1991 e impuso un nuevo estándar para los efectos con imágenes generadas por computadora (CGI). 

  • El verano de 1994 trajo toda una gama de películas llenas de gráficos por computadora.

  •  En 1995 se presentó la primera película de larga duración con gráficos y
    animaciones 3D por computadora. La película realizada por Pixar fue llamadaToy
    Story.

  •  En 1995 Sony lanzó al mercado mundial su consola de juegos
    Playstation (X). Hasta entonces las llamadas consolas de videojuegos solamente podían manejar gráficos 2D, pero elPlaystation contenía un chip (además del CPU) de 3D acelerado por hardware capaz de dibujar 360,000 polígonos por segundo.

  • 1996 podrá no ser el año más excitante en el uso de CGI en películas, pero la industria de los videojuegos experimentó un gran avance en los gráficos 3D con la salida deQuake de ID Software. 3D acelerado por hardware se convirtió en la frase de moda y al menos dos fabricantes sacaron al mercado aceleradores gráficos para PC (Diamond Edge de Diamond Multimedia usando el procesador NV1 de nVidia, y Virge de S3).

  •  En 1997 la industria de los videojuegos experimentó de nuevo una revolución, esta vez fue el acelerador 3DFX Voodoo 3D. Este chip 3D aplastó por completo a la competencia con su increíble y extremadamente práctico desempeño en 3D.

  • 1999 fue probablemente el año más excitante para los videojugadores de todo el mundo. nVidia finalmente logró superar el desempeño de 3DFX en la batalla de los chips 3D con su procesador TNT2.

  • El año 2000 fue realmente “el año de nVidia“. En diciembre, nVidia adquirió los activos intelectuales de su alguna vez competidor 3DFX. Este es un buen recordatorio de que tan rápido cambian las cosas en la industria. ATI se estaba volviendo fuerte y Matroxhabía anunciado nuevos productos, pero sobre todos ellos, claramente nVidia se había convertido en el estándar para el cómputo en casa. En el 2001 nVidia continuó dominando el mercado con una competencia ocasional por parte de ATI.

  • Nintendo lanzó elGamecube en septiembre de 2001, al igual que elGameboy
     Advance. Pero probablemente el gran evento del 2001 fue el lanzamiento de la  consolaXbox deMicrosoft. 

  • Durante 2003 aparecieron varias secuelas cinematográficas con grandes efectos
    especiales. X-Men 2, Matrix 2 y Terminator 3 son solo algunos ejemplos.Matrix
    Revolutions presentó una gran cantidad de asombrosos efectos especiales.

  • El 2004 fue un buen año para los videojuegos. Algunos de los juegos que aparecieron ese año comoFarCry de Ubisoft fueron de los primeros juegos en utilizar los últimos avances en los gráficos por computadora como los shaders de Direct X 9.0.

  • Para la películaSpider-Man 3 de 2007 Sony Pictures Imageworks (SPI) usó el software Autodesk Maya para la animación en 3D, el modelado, texturizado y combinación de movimientos de los personajes y efectos visuales aproximadamente en 80% de las tomas realizadas por el estudio.
     

viernes, 19 de agosto de 2011

Glosario

Render
Es un término usado en jerga informática para referirse al proceso de generar una imagen desde un modelo. Este término técnico es utilizado por los animadores o productores audiovisuales y en programas de diseño en 3D.

API

 (Application Program Interface). Conjunto de convenciones internacionales que definen cómo debe invocarse una determinada función de un programa desde una aplicación. Cuando se intenta estandarizar una plataforma, se estipulan unos APIs comunes a los que deben ajustarse todos los desarrolladores de aplicaciones.

Herramientas de programación para rutinas, protocolos y software.


DirectX 
Es una colección de programas que acelera el sistema en las tareas gráficas. Un componente es “Direct-3D”. Con e´l se puede, bajo windows, jugar de un modo más rápido y cómodo. Otros programas son, por ejemplo, “Direct-Sound” para la reproducción de sonido, así como el “Direct-Draw” y “Direct-Video” para la representación de dibujos y vídeo.

Lens Flare
 Pueden ser causa de confusión en usuarios novatos, ya que se presentan como pequeños círculos u óvalos de colores a lo largo de la imagen sin tener una razón aparente para su existencia. Es producido cuando algún rayo de luz de una fuente muy potente llega a la lente y se cuela a través de esta. La fuente usual es el sol, pero también puede ser producido por cualquier fuente artificial como luces, lamparas y flashes. Este rayo de luz “intruso” se refleja y rebota dentro de las imperfecciones de la lente creando dos tipos de manifestaciones: en primer lugar se muestra como una bruma, que lava los colores y reduce la saturación de estos, y en segundo lugar como los pequeños círculos.
 
Driver

Un driver o controlador posibilita que el sistema operativo de una computadora pueda entenderse con un equipamiento periférico, como es el caso de una impresora, una placa de video, un mouse, un módem, etc.

Máquina de estados
Maquinas de Estado. Modelo de comportamiento de un sistema con entradas y salidas, en donde las salidas dependen no sólo de las señales de entradas actuales sino también de las anteriores. Las máquinas de estados se definen como un conjunto de estados que sirve de intermediario en esta relación de entradas y salidas, haciendo que el historial de señales de entrada determine, para cada instante, un estado para la máquina, de forma tal que la salida depende únicamente del estado y las entradas actuales.

 
www.mastermagazine.info/termino/4756.php 
www.mastermagazine.info/termino/4664.php
http://es.wikipedia.org/wiki/M%C3%A1quina_de_estados
www.mastermagazine.info/termino/3868.php
es.wikipedia.org/wiki/Renderización