El arte digital consiste en generar
escenas hiper-realistas y abstractas mediante el uso de unas herramientas y unas técnicas
digitales, o en otras palabras, mediante el uso de ordenadores y sus correspondientes
programas.
Desde la aparición de los gráficos
por ordenador hasta la actualidad, se han producido una gran cantidad de innovaciones,
debidas al desarrollo de las técnicas de los programas y, en mayor medida, a la
evolución del los ordenadores.
Haciendo un breve repaso, la
cronografía puede ser más o menos la siguiente, que además corresponde a los distintos
tipos de visualización:
- modo wireframe,
o modelos de alambre: como
su nombre indica, sólo se representan líneas (tanto rectas como curvas).
- modo filling, o de rellenado continuo:
se
representan objetos con caras de colores totalmente uniformes.
- modo rendering
, ahora, no sólo se representan
las caras con colores, si no que, además, además estos contienen degradados, sombras,
etc. dentro de las técnicas de rendering, podemos destacar dos grupos:
- volume rendering: cuando los datos se obtienen
de hardware de adquisición de datos en forma de puntos 3D. Muy utilizado en medicina para
RMN (Resonancia Magnética Nuclear) y TAC (Tomografía Axial Computerizada).
- object rendering: cuando los datos se obtienen
de modelos matemáticos 3D. Este es el tipo de rendering más utilizado
El proceso de rendering de una
escena es un proceso bastante simple por un lado, pues es hacer siempre lo mismo, y muy
complejo por otro, pues hay que saber qué parámetros poner para obtener lo que queremos.
En general, el proceso es el siguiente:
- se describe una escena en base a unos modelos
matemáticos, donde se especifican los objetos que intervienen y la posición tanto de la
cámara (punto de vista del observador) como la de las fuentes de iluminación.
- se calcula la imagen fotorealista a partir de la
especificación anterior, y por medio de un programa de rendering. Hay muchos, tanto
comerciales (RenderMan, Alias, 3D Studio) como freware/shareware (POV, RayShade, PolyRay,
BobTracer).
- se postprocesa (por medio de técnicas para
oscurecer, aclarar, rotar la imagen) y se visualiza.
Dependiendo del algoritmo de
cálculo en el proceso de rendering, se tienen los siguientes tipos:
- métodos scanline:
tienen en cuenta sólo la
iluminación de los objetos, y no las propiedades físicas de estos. Son métodos muy
rápidos, pero los resultados que se obtienen son los menos realistas (3D Studio).
- métodos radiosity:
calculan las ecuaciones de
radiosidad para cada objeto, en función de la energía que reciben, emiten y propagan.
Son métodos independientes del punto de vista del observador, muy lentos, pero que
producen los mejores efectos de sombreado/iluminación. Tienen en cuenta las propiedades
físicas relacionadas con la reflexión, pero no la refracción (Radiosity).
- métodos de raytracing:
calculan las trayectorias
de los rayos de luz que inciden en la cámara, provenientes de las fuentes de
iluminación. Se tienen en cuenta tanto las propiedades de reflexión como las de
refracción. Son métodos muy lentos (los que más), pero que consiguen, en general, los
mejores efectos fotorealistas ya que son capaces de calcular reflexiones, refracciones,
transparencias, sombras, etc. El fallo más importante de estos métodos es precisamente
en el sombreado, que, si bien, es más realista que con métodos scanline, lo es menos que
con radiosity. Dentro del raytracing, se encuentran básicamente dos submétodos:
- photom tracing:
se calculan las trayectorias
directas, entre las fuentes de ilumi y el observador. Método poco usado.
- el visible tracing:
se calculan las trayectorias
inversas, entre el observador y las fuentes de iluminación. Es el método más usado, y
el que se usará en el presente curso. Es el que implementan programas como: RenderMan,
Alias, POV, etc.
El método de raytracing presenta
una serie de limitaciones y/o inconvenientes, que se solventan por medio de una serie de
técnicas.
- líneas escalonadas:
debido a la discretización
en pantalla de los rayos de luz (pixel), las líneas rectas inclinadas se ven como hechas
a escalones (aliasing). La solución es colorear en todos más suaves los pixel que quedan
entre los escalones (antialiasing). Método que ralentiza la generación de imágenes,
pero consigue mayor calidad.
- desaparición de objetos diminutos:
debido al
grosor de los pixel, estos son el promedio de los rayos que llegan. Si se trazan pocos
rayos, pueden desaparecen objetos. Una de las técnicas para solventar esto es el
supersampling, que consiste en tener internamente muchos más pixels de los que se van a
representar, y luego promediar. Se consiguen buenas soluciones, aunque el tiempo de
rendering se multiplica por 10-100.
- falta de difracción:
la refracción desvía la
luz, pero no de igual forma en todas las longitudes de onda. Por este motivo, cuando la
luz blanca atraviesa un prisma, se descompone en colores (arco iris). Esto es imposible
por medio de raytracing.
- falta de sombras suaves:
puesto que las fuentes
de iluminación son puntos infinitamente pequeños, no se crean zonas de penumbra, y en
cambio entre zona con sombra y zona iluminada es muy drástico.
- falta de reflexión especular:
la luz, al incidir
en una superficie reflexiva no rebota. La mayoría de los raytracers no solucionan el
problema.
- falta de reflexión difusa:
no sólo los objetos
especulares reflejan la luz, si no también los mates. Se puede intenta remediarlo con la
iluminación ambiental, como si todos los objetos reflejaran una cantidad constante y
pequeña de luz.
- falta de efectos cáusticos:
efectos que se
producen debido a la refracción no uniforme de la luz (p.e. en lentes).
- reflejos defectuosos:
los reflejos se producen
debido tanto a la reflexión especular como a la difusa, generalmente en las superficies
curvadas. Debido a la imposibilidad de calcular ambas reflexiones, estos efectos se
simulan por medio de métodos matemáticos aproximados. Entre los disponibles, se utilizan
reflexiones Phong y especulares.
