Tema 3
Tema 3
3.1 INTRODUCCIN
Se entiende por sistema informtico en tiempo real aquel que tiene ciertas restricciones de
comportamiento en el tiempo. Algunas restricciones bastante comunes son que el sistema responda a una
seal externa en un tiempo lo suficientemente corto o que produzca una frecuencia de salida mnima1. En
particular, un sistema de sntesis de grficos 3D en tiempo real, ser un sistema que pueda redibujar la
escena en un tiempo suficientemente corto, lo que permitir cierta sensacin de continuidad visual y dotar
de un grado de interactividad adecuado a nuestra aplicacin.
Para conseguir esta disminucin del coste de la representacin grfica se utilizan libreras de
funciones que implementan tcnicas especiales de visualizacin, y tambin existe la posibilidad, dadas las
caractersticas de los procesos que efectan, de utilizar hardware especial para acelerar los clculos.
Trabajan con primitivas poligonales. Los objetos 3D siempre sern representados como
superficies para proceder a su visualizacin y, a su vez, las funciones de las libreras trabajaran
internamente con objetos poligonales que descompondrn en tringulos.
Para permitir mayor grado de realismo se incorpora el pegado de texturas de color, normalmente
bidimensionales.
Se intenta que el mayor nmero posible de clculos se resuelva mediante operaciones lineales,
reducibles a sumas y multiplicaciones, y fcilmente implementables por hardware.
Se incluye algn tipo de mtodo para eliminar superficies ocultas. Las dos alternativas ms
comunes son:
- Utilizar BSP-Trees para ordenar los polgonos por distancias y aplicar el algoritmo del
pintor comenzando la visualizacin por los ms lejanos.
- Utilizar una memoria especial llamada Z-buffer que para cada pixel guarda la distancia a la
que est el punto correspondiente del objeto tridimensional cercano de los dibujados en esa
direccin hasta el momento.
En estos mtodos se utiliza, adems de la memoria de pantalla (frame buffer) convencional,
memoria adicional para permitir ciertas operaciones superponer diferentes tipos de informacin
sobre cada pixel. El nmero de bits de informacin que se puede almacenar para cada pixel
(nmero de bitplanes) constituye una caracterstica fundamental.
Guarda el color de cada punto. Para grficos por ordenador se suelen tener 24 bits de color
(trueColor: 8 bits por componente R, G, B). Otros sistemas utilizan 32 bits, 4 bytes (3 de R, G, B y uno
para el factor de transparencia "componente o canal alfa"). Para hacer grficos interactivos esta memoria
de color se suele multiplicar por dos, constituyendo lo que se llama un sistema de doble buffer. El doble
buffer se utiliza para evitar la sensacin de parpadeo (flickering) que se produce al redibujar la escena
mientras la estamos observando. Para ello el sistema grfico dibuja en un segundo buffer (el buffer
trasero o backbuffer) mientras el usuario percibe la imagen del buffer delantero (frontbuffer). Cuando se
acaba de dibujar la nueva imagen se conmutan (swap) las dos memorias, y el usuario pasa a ver de
repente en el frontbuffer la nueva imagen acabada, comenzndose a dibujar la siguiente imagen en el
backbuffer. De esta manera vemos siempre imgenes terminadas, y nunca el resultado intermedio.
En ocasiones se colocan otros planos de color adicionales que se pueden dibujar de forma
independiente, los planos de superposicin. Existen dos tipos de planos de superposicin: aquellos que se
1
Ver Tema 6: Simulacin en Tiempo Real.Concepto de Tiempo Real.
36
Depto. Informtica y Electrnica Informtica Grfica II
Universitat de Valncia
van a dibujar siempre por encima de los planos de color normales (memoria de overlay) y los que se van
a dibujar siempre por debajo (memoria de underlay). El overlay se puede usar para dibujar partes de la
escena prximas que no cambian frecuentemente (por ejemplo, la cabina del piloto en un simulador de
vuelo), mientras que el underlay se utiliza para dibujar el fondo (por ejemplo, las montaas lejanas del
mismo simulador de vuelo). La librera debe disponer de algn sistema para distinguir cul de los planos
de color debe ser el que se utilice para dibujar cada pixel particular. Esto puede realizarse definiendo una
mscara en los pixels, o bien utilizando colores especiales en los planos de underlay y overlay.
b) Memoria de acumulacin:
Se utiliza tambin para almacenar color, con el propsito de acumular imgenes sucesivas. Con
estas memorias se pueden realizar efectos curiosos como el motion bluring que consiste en un
desenfoque producido por el movimiento del objeto, que se puede conseguir sumando con diferentes
pesos varias imgenes del objeto mientras se mueve. La memoria de acumulacin se puede tambin
utilizar para eliminar los efectos de dentado (aliasing) en la imagen, suavizando los bordes de los objetos
y los detalles de las texturas. Para ello se hace la media entre varias imgenes que se diferencian por
ligeras variaciones del punto de vista.
Como hemos dicho antes, la existencia de esta memoria es una caracterstica particular de los
sistemas de visualizacin en tiempo real. En esta memoria se suelen utilizar 16 o 32 bits por pixel para
guardar informacin relativa a la distancia o profundidad de cada pixel. Cuando se comienza a dibujar la
escena toda la memoria del z-buffer se borra, inicializando su valor a la mxima distancia posible. A
partir de entonces cada vez que se dibuja un tringulo se comprueba, para cada pixel que cubre su
proyeccin, si la distancia al observador es menor que la almacenada en ese punto del z-buffer. Si lo es,
entonces el pixel se cambia al color del objeto y su valor de profundidad se almacena como nuevo valor
en el z-buffer.
zp
A
z1 p1 p2
z2 B
A se dibuja despus que B, pero por ser z 2 > z1 , el color de p1 no se borra para cambiarlo
por p 2 .
underlay
Z-buffer
Back buffer (color)
Front buffer (color)
overlay
37
Tema 3: Sistemas de Visualizacin en Tiempo Real.
Visualizacin por Hardware
El proceso computacional que lleva desde la descripcin de los objetos en la escena hasta la imagen
final se produce, en los sistemas en tiempo real, mediante una serie de fases consecutivas y conectadas
entre s (la salida de datos de una fase constituye la entrada de la siguiente), que se denomina pipeline
(oleoducto) grfica.
Debemos distinguir los datos propios de la escena, que van a circular por este sistema de
procesamiento secuencial, del conjunto de variables, accesibles al programador, que van a determinar el
procesamiento al que se ven sometidos los datos. Este conjunto de variables se denomina contexto
grfico. El contexto grfico incluye variables cuyo valor puede ser cambiado por el programa a lo largo
del proceso. Entre ellas hay opciones que controlan la activacin o desactivacin de ciertas funciones
(por ejemplo, el uso del doble buffer o de la comparacin del z-buffer) o controlan el modo en que
algunas operaciones son realizadas (por ejemplo, variantes en el mtodo de iluminacin) y tambin
incluyen datos que son utilizados por la pipeline, como las matrices de proyeccin y transformacin,
posicin del observador, color actual, material actual, fuentes de luz, texturas, etc.
Recordemos que uno de los objetivos de los sistemas de visualizacin en tiempo real es
descomponer el proceso de visualizacin en fases simples que tengan un coste mnimo y puedan ser
implementadas por hardware. Segn cul sea el equipo disponible, parte de la pipeline ser ejecutada por
el hardware especfico y parte tendr que ejecutarse por la CPU del sistema. Esta idea permite que una
misma aplicacin pueda funcionar en equipos con diferente tipo de aceleracin grfica (o con ninguna).
En cualquier caso, la parte ejecutada en la CPU comenzar siempre por el principio de la pipeline, y a
partir de cierto punto los datos sern transferidos al hardware grfico que continuar el proceso hasta el
final.
La idea fundamental del procesado en tiempo real es que todos los objetos deben ser descompuestos
en polgonos. Estos polgonos sern descompuestos a su vez en tringulos. Cada tringulo ser
proyectado sobre la ventana bidimensional y rellenado con los colores adecuados para reflejar los efectos
de la iluminacin, texturas, etc. Una vez se han generado los tringulos, en la pipeline existen dos partes
claramente diferenciadas: una primera etapa operaciones realizadas sobre cada uno de los vrtices, y
despus de que stos se proyecten sobre la ventana, entonces comienza una segunda fase de clculos
realizados para cada pixel cubierto por los tringulos.
El siguiente sera un esquema del proceso en pipeline que comienza por la Base de Datos de la
escena:
Clculo
por Operaciones
Base de datos vtices por pixels
Seleccinar objetos
CLCULO
PROYECTAR Vertices 2D RASTERING
Polgonos DEL Pixels
COLOR
3D-2D +Z
1 2 3 4 Imagen
final
4. - Rellenado de los tringulos (rastering). Para ello se realizan varias fases de procesamiento por
pixel
38
Depto. Informtica y Electrnica Informtica Grfica II
Universitat de Valncia
En grficos interactivos toda representacin de los objetos 3D que no sea poligonal se debe
previamente transformar en una representacin de superficie poligonal para poder hacer uso de la
pipeline grfica.
En esta fase de seleccin se intenta optimizar la calidad y cantidad de objetos que se van a utilizar.
La seleccin de objetos se basa en dos tcnicas principales:
Seleccin del detalle. Un mismo objeto puede estar representado con ms de un nivel de detalle,
y por tanto, podemos escoger el que sea ms adecuado (segn su calidad y coste) en cada
momento.
Seleccin por visibilidad. Si queremos disminuir el coste de computacin en la pipeline,
podemos dejar de enviar los objetos que estn:
- Ocultos por otros objetos.
- Fuera del campo de visin.
Veremos ms en detalle cmo estas tcnicas pueden implementarse haciendo uso de estructuras de
datos especiales2.
La conversin a polgonos se puede efectuar por la propia aplicacin, a criterio del programador, o
utilizar funciones de la librera grficas. Algunas libreras permiten definir objetos con representaciones
no basadas en polgonos, pero incluyen funciones para efectuar la conversin. Por, ejemplo OpenGL
incluye la definicin de superficies paramtricas tipo NURBS utilizando funciones especficas
(glNurbsSurface( )).
Al final de este proceso tendremos una lista de polgonos descritos por vrtices. Cada vrtice debe
contener como mnimo la informacin acerca de su posicin en el espacio, pero tambin datos que
permitan calcular posteriormente su color. Si el programa no proporciona para cada vrtice un color
previamente calculado, deber indicarse el valor del vector normal a la superficie en ese punto para que la
pipeline calcule el color mediante un modelo de iluminacin.
En el caso de que se desee pegar una textura sobre el objeto3, deben proporcionarse los datos para
que la pipeline calcule automticamente las coordenadas de textura, o bien dar explcitamente los valores
de estas coordenadas.
PIPELINA DE TRANSFORMACIONES SOBRE VERTICES
Una vez los objetos han sido seleccionados y se han descompuesto en vrtices, estos sufre una proceso de
transformacin hasta convertirlos en pixels (nos centraremos en esas transformaciones y obviaremos la
iluminacin local aunque es un proceso que se realiza en coordenadas del ojo). Las transformaciones se
pueden organizar como muestra las siguiente estructura de tubera:
2
Ver Tema 6: Simulacin en Tiempo Real. Estructuras Jerrquicas.
3
Ver Tema 7: Tcnicas Avanzadas de Modelado Geomtrico. Texturas
39
Tema 3: Sistemas de Visualizacin en Tiempo Real.
Visualizacin por Hardware
DIVISIN TRANSF.
COOR. COOR. COOR.
DE DE
RECORTE NORMALIZ VENTANA
PROYEC. VENTAN.
Esto pude verse como el proceso de hacer una foto: las tranformaciones del modelo consisten en
posicionar el objeto en el punto de la escena que nos interesa, las transformaciones de la vista consisten
en colocar la camara con la direccin adecuada. Las transformacin de proyeccin son similares al
proceso de enfocar la lente de la camara la divisin de proyeccin es el proceso de impregnacin de la
pelicula fotografica y las transformaciones de ventana se prodrian ver como el proceso de revelado donde
seleccionamos el tamao y proporciones del papel sobre el cual revelamos la foto.
Es muy comn que dispongamos de una especificacin del objeto en un cierto sistema de
coordenadas (sistema de coordenadas del objeto o sistema local). Por ejemplo, hemos modelado una casa
en la que las coordenadas de los vrtices y la orientacin de los vectores normales viene definida respecto
a un sistema ortogonal situado en el centro de la casa. Sin embargo, los diferentes objetos situados en una
escena comparten un sistema de referencia absoluto (sistema de coordenadas del mundo, de la escena, o
sistema global). Por tanto necesitamos un mecanismo para transformar la posicin, orientacin y escala
de los objetos de forma que podamos combinarlos en una escena comn con otros, mover el objeto o
efectuar diferentes copias del mismo en diferentes posiciones y tamaos.
La forma en que estas transformaciones de modelado se efectan en las libreras grficas suele ser a
travs de un sistema de coordenadas actual que se almacena en el contexto grfico. Este estado actual del
sistema de coordenadas se representa por medio de una matriz que expresa la transformacin que en cada
instante lo liga con el sistema absoluto del mundo. Supongamos que tenemos una funcin que dibuja un
cubo cuyos vrtices han sido definidos respecto a con un sistema de coordenadas situado en su centro.
Cmo podemos dibujar el cubo en una posicin cualquiera de la escena? Suponiendo que el sistema de
coordenadas actual de la escena est inicialmente en el origen del sistema del mundo, tendramos que
trasladarlo al punto donde queremos situar el cubo, y entonces llamar a la funcin que dibuja el cubo.
40
Depto. Informtica y Electrnica Informtica Grfica II
Universitat de Valncia
(Girarlo)
Rotacin
Objeto2
(Moverlo) (Cambio de tamao)
Traslacin Escalado
Objeto1 Objeto3
Hay libreras que incluyen una estructura de datos en la que pueden definirse directamente estas
estructuras jerrquicas de transformaciones. En otras libreras no existe una estructura de datos explcita,
y las operaciones y su alcance se deben indicar mediante instrucciones de la librera en el cdigo del
programa. Por ejemplo esto sucede en OpenGl, donde el ejemplo anterior podra ser programado como se
muestra en el anexo 9.
Las coordenadas utilizadas internamente por muchas libreras grficas para representar la posicin
de los vrtices tienen cuatro componentes. La cuarta componente se denomina coordenada homognea, y
tiene por defecto un valor unidad. Una vez se han efectuado todas las transformaciones matriciales, tanto
las de proyeccin como las de modelado, la librera grfica interpretar que las coordenadas 3D de cada
punto son las tres primeras coordenadas, dividida cada una de ellas por el valor w de la coordenada
homognea.
r x y z
Coord. Homogneas X = , , .
Nota :
Para representar un punto en el infinito pondremos = 0.
Traslacin x = T x
1 0 0 tx x x x + t x
y = T t , t , t y y + t y
( )
0 1 0 ty
(
T tx ,ty,tz ) =
0 0 1 tz z x y z
=
z z + tz
0 0 0 1
Matriz de translacin
41
Tema 3: Sistemas de Visualizacin en Tiempo Real.
Visualizacin por Hardware
x + tx x
= x = x =
x 3D = + t x = x 3D + t x
x 3D = x
y + ty y
y3D = y y3D
= y = y = = + t y = y3D + t y
z 3D =z z + tz z
= z = z =
z 3D = + t z = z 3D + t z
Rotacin
Normalmente se ofrecen funciones para realizar una rotacin alrededor de cualquiera de los tres ejes
o alrededor de un eje arbitrario, pero teniendo siempre en cuenta cierto criterio de signo para interpretar
el sentido de giro.
1 0 0 0
0 cos sin 0
M x ( ) = Matriz de rotacin alrededor del eje x
0 sin cos 0
0 0 0 1
cos 0 sin 0
0 1 0 0
M y ( ) = Matriz de rotacin alrededor del eje y
sin 0 cos 0
0 0 0 1
cos sin 0 0
sin cos 0 0
M z ( ) = Matriz de rotacin alrededor del eje z
0 0 1 0
0 0 0 1
Para efectuar giros ms complejos podemos combinar estas rotaciones bsicas de forma secuencial.
Las rotaciones no afectan solamente a la posicin del objeto, sino tambin a los vectores normales,
de manera que la iluminacin calculada posteriormente corresponda a la orientacin real del objeto en la
escena.
Escalado
42
Depto. Informtica y Electrnica Informtica Grfica II
Universitat de Valncia
Mantiene la forma bsica del objeto, slo altera sus proporciones. Las anteriores transformaciones
slo varan la posicin pero no sus proporciones. Para cambiar la escala del objeto en cada uno de los tres
ejes, con sendos factores de escala (ex , ey , ez ) , utilizaramos la matriz:
ex
( )
ey
E ex , ey , ez =
ez
1
Composicin de transformaciones
Otro ejemplo, un poco ms complejo, es rotar un objeto respecto a un eje arbitrario. Para ello
efectuaramos una traslacin T que haga pasar el eje de giro por el origen de coordenadas, luego una
rotacin (rotaciones) R que hagan coincidir el eje con uno de los ortogonales x, y, z. Entonces podramos
usar una funcin de rotacin (por ejemplo Rz) y luego tendramos que deshacer las transformaciones R y
T.
z
Eje de giro
Eje
43
Tema 3: Sistemas de Visualizacin en Tiempo Real.
Visualizacin por Hardware
eje
z
R ()
z
-R
-T
Una vez tenemos los vrtices situados y orientados en el sistema de coordenadas del mundo
podemos aplicar de forma adecuada el modelo de iluminacin para asignarles un color, si es que ste no
ha sido asignado explcitamente en el programa y el subsistema de iluminacin est activado. Como
necesitamos efectuar un clculo lo ms eficiente posible, todas las libreras para grficos en tiempo real
utilizan un modelo de iluminacin basado en el sombreado local. Este tipo de modelo utilizar los valores
de la posicin y el vector normal de los vrtices junto a la especificacin del material y las fuentes de luz,
que se encontrar en el contexto grfico. Si se desea restringir este clculo a los vrtices visibles, pueden
efectuarse primero la fase de proyeccin y recorte que veremos a continuacin.
44
Depto. Informtica y Electrnica Informtica Grfica II
Universitat de Valncia
in y
ntac A
u
orie
-Z
v D
x
Mover el
observador z
Coord. mundo
Coord. pantalla
Coord. ojo
3D-2D
Para describir la posicin y orientacin el observador se utilizan generalmente tres vectores que
especificarn los nueve grados de libertad posibles (tres de posicin y tres de orientacin). Una posible
combinacin es:
n
ici
P os
x
z
Para hacer coincidir el sistema del mundo con el del observador tendremos que trasladar toda la
escena un mismo vector -V, de manera que ahora el punto de vista estar situado en el origen del mundo.
A continuacin tenemos que efectuar una rotacin de manera que ambos ejes se alineen. La matriz total
45
Tema 3: Sistemas de Visualizacin en Tiempo Real.
Visualizacin por Hardware
Rotacin
dx dy dz 0
ux uy uz 0
R =
ax ay az 0
0 0 0 1
Una vez tenemos los vrtices de la escena expresados en coordenadas del sistema observador, stas
se pasan a coordenadas de ventana mediante una proyeccin 3D-2D. Si deseamos una proyeccin
ortodrica o paralela, bastar utilizar dos de las coordenadas del sistema observador como coordenadas
de ventana (con las correcciones de escala adecuadas), pero este tipo de proyeccin no hace disminuir el
tamao de los objetos con la distancia. Para realizar una proyeccin que simule este efecto se usa el
sistema de la perspectiva lineal o cnica.
Traslacin
v
x
1 - vx
x
1 - vy
z
(
T - v x ,-v y ,-v z )
=
1 - vz
1
46
Depto. Informtica y Electrnica Informtica Grfica II
Universitat de Valncia
d
y
0
y
z
-z0
y y 0 d y0
= y = y y
d - z0 - z0 0 - z0
x 1 0 0 0 x x = x
y = 0 0 0 y
y = y x3D = x' w'= x - z
z 0 0 1 0 x z' = z y3D = y' w'= .y - z
w 0 0 1 0 1 w = -z
En las libreras grficas se proporciona adems informacin para recortar el tamao del espacio de
proyeccin. Por un lado se suele especificar el ngulo de perspectiva o del campo de visin ( en
OpenGL se da el ngulo de visin vertical fovy (field of view en y)). Por otro lado, como veremos
inmediatamente, tambin el espacio piramidal de proyeccin (el frustrum) se limita segn la coordenada
z.
47
Tema 3: Sistemas de Visualizacin en Tiempo Real.
Visualizacin por Hardware
D.p.c (near)
D.p.c (far)
En las libreras para grficos en tiempo real el programa debe aadir a los parmetros de perspectiva
que ya hemos visto la posicin de dos planos de recorte, el plano cercano y el plano lejano, que
delimitan un tronco de pirmide donde se sitan los objetos que sern efectivamente visibles en la
proyeccin. Los objetos que salgan fuera de estos planos no se vern, y los que los intersecten sern
recortados, dejando visible solamente la parte interior.
La utilidad de estos planos es doble: por una parte permiten restringir la parte de la escena que se
desea ver en funcin de la distancia. En ciertos casos esto puede permitir que nos centremos en una parte
de la escena que nos interesa. Sin embargo, la principal razn para utilizar estos planos es calibrar
adecuadamente los valores de profundidad del z-buffer, de la memoria de distancia. En efecto, los valores
almacenados en el z-buffer no son valores absolutos de distancia, sino valores relativos a la posicin
entre los dos planos de recorte, de manera que si estos estn muy alejados entre s, una diferencia de una
unidad en la profundidad almacenada en el z-buffer representar una gran distancia en coordenadas del
mundo, y ello puede provocar problemas a la hora de efectuar la ocultacin de superficies no visibles, ya
que dos planos situados a similar distancia pueden confundirse a la hora de comprobar cul es visible. Por
ello es conveniente situar los planos de recorte tan cercanos entre s como sea posible, lo que aumentar
la capacidad de precisin en el test que utiliza el z-buffer.
Una vez llegada a esta fase tenemos ya los vrtices de los tringulos proyectados sobre un plano,
pero nada impide que sus coordenadas caigan fuera de la ventana. Como la siguiente fase del procesado
en tiempo real va a consistir en el rellenado de los tringulos, nos conviene limitar stos a la parte que
este dentro de la ventana, ahorrndonos la interpolacin de pixels que van a quedar fuera del rea de
visualizacin. Es por ello por lo que se realiza una fase previa de recorte, en la cual se comprueba qu
tringulos de la lista de visualizacin se encuentran dentro de la ventana y cules fuera, de manera que:
48
Depto. Informtica y Electrnica Informtica Grfica II
Universitat de Valncia
Para tringulos que tienen una parte dentro y otra parte fuera:
- Se recorta y elimina de la lista de visualizacin lo que queda fuera.
- Se retriangula la parte que queda dentro de la ventana, calculando por interpolacin la
posicin, el color y otras propiedades de los nuevos vrtices que pudieran aparecer.
Se trata de la ltima fase, en ocasiones la ms costosa, del proceso, por lo que es la primera que se
suele integrar en el hardware grfico. En esta etapa se trata de asignar colores a los pixels
correspondientes al interior de cada tringulo proyectado que cae dentro del rea de visualizacin. Los
colores asignados deben calcularse por el mtodo de Gouraud, interpolando linealmente entre los colores
de los tres vrtices. Otras variables como la coordenada de profundidad z o las coordenadas de textura
sufren el mismo proceso de interpolacin lineal, fcilmente reproducible por hardware.
x , y , z , crgb
C1
C12 C13 x , y , z , crgb
12 12 12
a b c
C3
C2
El algoritmo que generalmente se utiliza para rellenar la mitad de un tringulo como el de la figura
es el siguiente:
Obsrvese que el resultado final es la actualizacin del color c(x,y) y el valor de profundidad en el z-
buffer z(x,y) para los puntos del rea de visualizacin que superan el test de visibilidad basado en el z-
(
buffer. El color final de estos pixels actualizados, representado aqu por una funcin f c c , z c ,... , )
depender del tipo de operaciones por pixel que estn definidas (transparencia, texturacin, etc.)
49
Tema 3: Sistemas de Visualizacin en Tiempo Real.
Visualizacin por Hardware
Como comentamos, las operaciones de la pipeline pueden dividirse ms o menos en dos partes: las
realizadas por vrtice y las realizadas por pixel en la fase de rellenado. Podemos decir que el coste
computacional es en ambos casos lineal, aunque puede variar para vrtices o pixels particulares
(dependiendo de ciertos factores como el nmero de fuentes de luz presentes, el tipo de operaciones de
rellenado, etc.). Por ello resulta evidente que habr que controlar estas variables a la hora de intentar
optimizar el coste del proceso de visualizacin4.
Otro problema que puede aparecer en el proceso grfico en tiempo real se debe a la propia
estructura de la pipeline, en la que los datos necesarios deben transmitirse de una fase a otra. Esta
transmisin en algunos casos puede ser ms lenta que el propio procesamiento de los datos,
especialmente cuando se utiliza el bus del sistema.
Las libreras grficas pueden funcionar en dos modos diferentes (algunas admiten ambos modos,
otras solamente uno). En el llamado modo inmediato, la librera generar una lista de visualizacin
diferente para cada fotograma, repitiendo de nuevo el proceso de seleccin y poligonizacin. En el modo
retenido, la librera guarda la lista de visualizacin generada para reutilizarla en los siguientes
fotogramas, ya que si no hay grandes alteraciones en la escena, basta con cambiar el punto de vista o
efectuar transformaciones sobre ciertos objetos para tener los datos correspondientes a las sucesivas
imgenes.
La distincin entre estos dos modos se hace importante en ciertas arquitecturas de hardware para la
visualizacin. Hay procesadores grficos que permiten almacenar la lista de visualizacin en una
memoria propia, evitando el coste de enviar cada fotograma los datos desde la memoria principal. Sin
embargo este sistema resulta muy ineficiente cuando hay que efectuar frecuentes actualizaciones masivas
de la lista de visualizacin, debido a que la escena cambia mucho de un fotograma a otro (muchos
vrtices aparecen, desaparecen, o se mueven).
4
Ver Tema 6: Simulacin en Tiempo Real.
50