Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Modelado en 3D y Composicion de Objetos PDF
Modelado en 3D y Composicion de Objetos PDF
9.4.4 Renderizado................................................................................ 13
9.9 Referencias........................................................................................ 31
9 Modelado en 3D y composición de objetos
Después del análisis de las tareas, deben desarrollarse las bases de datos de
los objetos y optimizar el modelo. Es decir, modelar la forma del objeto, su
aspecto, su comportamiento, su condicionante etc., ya que, corresponderán a
las herramientas de entrada/salida al mundo simulado.
Línea: Definida por el recorrido más corto del espacio entre dos puntos en
cualquier dirección. - 1ra Dimensión.
Plano: Definido por la extensión de la línea en dirección perpendicular. - 2da
Dimensión.
9.4.1 Modelado
El modelado consiste en ir dando forma a objetos individuales que luego serán
usados en la escena. Existen diversas técnicas de modelado; Constructive
Solid Geometry, modelado con NURBS y modelado poligonal son algunos
ejemplos. Los procesos de modelado pueden incluir la edición de la superficie
del objeto o las propiedades del material (por ejemplo, color, luminosidad,
difusión, especularidad, características de reflexión, transparencia u opacidad,
o el índice de refracción), agregar texturas, mapas de relieve (bump-maps) y
otras características.
Por tanto, primero se deben construir un modelo, para ello hay técnicas de
modelado comunes, en las cuales se encuentran:
5. Extrude || Lathe. Son dos técnicas que a partir, de una figura 2d (spline)
crea el volumen.
6. Loft: Se deben emplear 2 ó más splines, para crear una malla 3d continua.
El primer spline, funciona como path (camino) mientras que los demás,
dan forma, extendiéndose, a traves del path. Ideal para crear cables,
botellas, etc.
• Fuentes emisoras de luz: entre las que se incluyen los focos y el Sol.
Las mallas de triángulos son populares ya que está probado que son fáciles de
'renderizar' usando Scanline rendering.
9.4.4 Renderizado
El renderizado es un proceso de cálculo complejo desarrollado por un
ordenador destinado a generar una imagen 2D a partir de una escena 3D. Así
podría decirse que en el proceso de renderización, la computadora "interpreta"
la escena 3D y la plasma en una imagen 2D.
La renderización se aplica a los gráficos por ordenador, más comúnmente a la
infografía. En infografía este proceso se desarrolla con el fin de imitar un
espacio 3D formado por estructuras poligonales, comportamiento de luces,
texturas, materiales, animación, simulando ambientes y estructuras físicas
verosímiles, etc. Una de la partes más importantes de los programas dedicados
a la infografía son los motores de render los cuales son capaces de realizar
técnicas complejas como radiosidad, raytrace (trazador de rayos), canal alpha,
reflexión, refracción, iluminación global, etc.
9.4.4.1 Proyecciones
En dos dimensiones, las operaciones de visión transfieren puntos
bidimensionales en el plano coordenado mundial a puntos bidimensionales en
el plano de coordenadas del dispositivo. Las definiciones de objetos, sujetados
contra el marco de una ventana, se delinean en un puerto de visión (viewport).
Estas coordenadas de dispositivo normalizadas se convierten después en
coordenadas de dispositivo y el objeto se despliega en el dispositivo de salida.
Existen dos métodos básicos para proyectar objetos tridimensionales sobre una
superficie de visión bidimensional. Estas dos maneras, dependen de si todos
los puntos del objeto pueden proyectarse sobre la superficie a lo largo de líneas
paralelas o bien los puntos pueden proyectarse a lo largo de líneas que
convergen a una posición denominada centro de proyección. En ambos casos,
la intersección de una línea de proyección con la superficie de visión determina
las coordenadas del punto proyectado sobre este plano de proyección.
Figura 9.21: Proyección en paralelo de una figura sobre una superficie de visión
(plano de proyección)
Hay muchos objetos naturales que son candidatos a ser modelados de forma
recursiva.
Partes del objeto se asemejan al propio objeto. Por tanto, estos objetos pueden
a ser modelados de forma algorítmica. Un ejemplo de estos son los árboles.
Aunque no hay dos árboles iguales, se pude ver que de su tronco parten las
ramas, de las cuales a su vez salen más y así durante un cierto número de
iteraciones. Las diferencias entre dos árboles pueden ser perfectamente
modeladas mediante una distribución de probabilidad. Esta distribución puede
ser uniforme o incluso para obtener más realismo, una distribución normal. No
hay ningún problema en simular computacionalmente estas distribuciones de
probabilidad. La recursividad se puede definir matemáticamente mediante
gramáticas formales. Las gramáticas a su vez definen lenguajes a través de los
símbolos terminales. Los símbolos terminales en el contexto de los gráficos
pueden interpretarse de varias formas, todas ellas relacionadas con la
geometría o forma del objeto a representar. Por tanto, el lenguaje generado por
la gramática, interpretado de forma apropiada, nos da la sucesión de
operaciones que debemos realizar para generar el objeto.
• OpenGL
• Direct3D
9.7.1 OpenGL
OpenGL es una especificación estándar que define una API multilenguaje y
multiplataforma para escribir aplicaciones que produzcan gráficos 2D y 3D. Fue
desarrollada por Silicon Graphics Inc. (SGI) en 1992[1]. Su nombre viene del
inglés Open Graphics Library, cuya traducción es biblioteca de gráficos abierta
(o mejor, libre, teniendo en cuenta su política de licencias[2]).
SGI observó que la API IRIS GL no podía ser abierta debido a conflictos de
licencias y patentes; también contenía funciones no relevantes para los gráficos
3D como APIs para ventanas, teclado o ratón (en parte, porque fue
desarrollada antes de la aparición del X Window System o de los sistemas
NeWS de Sun). Además, mientras iba madurando el soporte del mercado para
el nuevo estándar, se pretendía mantener los antiguos clientes mediante
bibliotecas añadidas como Iris Inventor o Iris Performer.
9.7.2 Direct3D
Direct3D es parte de DirectX, una API propiedad de Microsoft disponible tanto
en los sistemas Windows de 32 y 64 bits, como para sus consolas Xbox y Xbox
360 para la programación de gráficos 3D.
• Direct3D 9.0 añadió una nueva versión del High Level Shader Language
(HLSL, lenguaje de programación de shaders), soporte para HDR,
renderización de múltiples objetos e indexación del buffer de vértices.
• Direct3D 10 consigue un aumento considerable en el rendimiento
eliminando el llamado object overhead, que consiste en realizar
llamadas entre la API y el driver usando la CPU. Dichas llamadas
producían un cuello de botella, limitando, a unos 500, la cantidad de
objetos que se podían representar en una escena. Direct3D 10 incorpora
además, los shaders de geometría (geometry shaders) junto con la
nueva función Stream Out; esta nueva función permite guardar en un
buffer información de los shaders permitiendo operaciones de varias
pasadas en el shader de geometría. Otra novedad de Direct3D 10 es la
unificación de los pixel y vertex shaders, que a partir de ahora pasarán a
funcionar como pixel, vertex o geometry shaders, dependiendo de la
situación. Con Direct3D 10 se conseguirá un mayor nivel de detalle en
las texturas, permitiendo un mayor realismo sin incrementar la
complejidad; además, la generación de sombras dejará de ser tarea del
procesador central para ser la GPU la que las genere y posteriormente
renderice. También se ha mejorado la generación dinámica de
geometría, que anteriormente se realizaba en el procesador y ahora
también calcula la GPU, y otros efectos como el motion blur que resulta
más realista. El principal problema de DirectX 10 es que sólo funciona
con el sistema operativo Windows Vista, mientras que DirectX 9.0
trabaja con toda la familia de Windows a partir de Windows 98. El SDK
de DirectX 10 está disponible desde Febrero de 2007.
Junto a estos paquetes mayores, hay otros que no se han ganado tal
aceptación general, pero que no son simples juguetes. Algunos son:
http://www.cristalab.com/tutoriales/148/fundamentos-basicos-de-modelado-3d
http://www3.uji.es/~ribelles/Investigacion/3GT/index.html
http://es.wikipedia.org/wiki/Gr%C3%A1ficos_3D_por_computadora
http://www.casa3d.com/