|
|---|
Tarjetas Gráficas
Intentando facilitar los términos, siempre hay que pensar en dos posibilidades, la antigua (2 dimensiones)
y la moderna (3 dimensiones), porque la pantalla del ordenador tiene que "dibujar" lo que se le indique.
Con esa premisa como base, el procesador, cuando tiene que enviar algo a la pantalla, emite unas señales,
pero su forma de comportamiento es puramente binario, sus secuencias de órdenes no serían comprensibles
por el monitor. Sería el caso de un telégrafo (su funcionamiento es binario) y que un televisor normal
de una casa intentase leer sus señales y mostrarlas en pantalla, pues no sé si saldría algo,
pero desde luego ni parecido con la
realidad. ¿Que es preciso? Convertir esa señal en otras que sí sepa interpretar. Esa es la
función básica de una tarjeta gráfica.
Tradicionalmente las había de texto solamente, después empezaron las que permitían gráficos
de 2D y ahora funcionan
las de 3D (incluyen, o mejor, simulan las 3 dimensiones del mundo real).
Otra cuestión esencial a tener en cuenta es que un ordenador no puede tratar objetos. Veamos algo muy simple,
una bola de billar. Pensando que el procesador del ordenador es quien se tiene que encargar de dar las órdenes
de dibujo y que tan sólo es capaz de hacer cálculos matemáticos ¿de qué forma
puede responder ante un objeto compacto? la respuesta es que no puede. ¿Qué se hace? dividirlo en
objetos puntuales que sí pueden ser manejados. Por supuesto que podría tratar un círculo,
es un elemento simple y matemáticamente tratable, pero eso no es una bola de billar, ni se le parece, no
tiene fondo, ni brillo, ni textura, ni luces, ni nada de nada. Por lo tanto se ha de hacer "trocitos diminutos",
polígonos básicos que sí sepa tratar y que después se puedan juntar de nuevo para crear
la ilusión óptica de la bola. ¿Cuantos polígonos y con qué características?
Pues depende del procesador, las capacidades que tenga y de la tarjeta gráfica que ha de recibirlos. Está
claro que a mayor cantidad mayor realismo, si son pocos la bola será un objeto algo raro.
Así que los programas que se encargan de estas funciones (OpenGL, DirectX, o los que sean) van a enviar
órdenes en forma de muchísimos polígonos, en este caso y generalmente, triángulos,
al procesador, y a cada uno de ellos les va a dar unas características, que serán las que luego,
al unirlos, compongan el todo. Así este cogerá cada triángulo y hará los cálculos
necesarios sobre el color (que es un valor numérico), y con él la luminosidad, calculará las
texturas (única por cada polígono, no es capaz de hacer otra cosa, la ilusión óptica
viene al juntarlas), etc. y todo ello se lo enviará en forma de cálculos matemáticos, vectores,
espacios vectoriales, hacia la tarjeta gráfica.
Ahora toda la información está en ella y su propio chip o, llamémosle, su procesador. Tendrá
que ir juntando los vértices de esos triángulos de forma ordenada, basándose en la información
recibida en forma de vectores, así compondrá todo el rompecabezas basándose en los cálculos
recibidos y convirtiendo estos en un objeto que sí puede enviar al monitor, proporcionando a cada polígono
los puntos de color que necesita, la textura, los colores teniendo en cuenta los efectos de sombras o luces, etc.
Para que se consiga un realismo, la velocidad de cálculo del procesador central, la de la tarjeta de vídeo
y claro está, la de las conexiones entre ambas para poder traspasar los datos de una a otra, deben de ser
altísimas.
Estamos hablando de un elemento estático, pero lo normal es que no sea así, sino que haya movimiento,
con lo que la cantidad de cálculos y composiciones se multiplica. En realidad uno de los primeros trabajos
que se hacen es ver que polígonos, por ejemplo de la bola que usamos en este caso, son visibles y cuales
nos, porque los que no se han de ver no se tratan, ahorrando muchas operaciones.
Una vez finalizado, la tarjeta ya sí envía al monitor los puntos que tiene que dibujar. Hay que tener
en cuenta que la velocidad de refresco de pantalla (cantidad de veces que se redibuja una imagen) debe de ser suficiente
como para que el ojo humano no distinga movimientos extraños. Eso significa un trasvase de datos entre el
procesador y la tarjeta de unos pocos millones de polígonos por segundo, velocidades muy altas.
Esto que en la teoría es simple, en la práctica no lo es tanto.
Cierto que con los estándares VGA llegaron tarjetas 2D, pero tienen unas posibilidades escasas: movimiento
de rectángulos (se denomina Bit-Blit), movimiento de ratón, dibujo de líneas y círculos
y dibujo de pixels que permite rellenar polígonos. Pero lo que no es tan cierto es la separación
2D y 3D. Estas últimas se componen (aparte de las conexiones exteriores) de tecnología pipeline,
incluyendo un preprocesador tanto 2D/3D pero unido a los correspondientes e independientes 2D y 3D, ya que en realidad
no tienen por qué mezclarse, además contiene un interfaz local de memoria, todo ello para trabajar
los polígonos, y quien transforma la información digital, una vez que ya está elaborada, es
el procesador RAMDAC, que es el quien conecta con el monitor.
En un pipeline 3D las funciones que se elaboran son complicadas. Recibe del procesador de la computadora los polígonos
que hemos mencionado en lo que sería el "Setup Triángulo", envía el resultado al
"rasterizer" que se encarga de los colores de cada punto y de comprobar si cada polígono está
detrás de otro, si lo está es porque ya ha rellenado el primero (renderizado), sirviéndose
para ello del "buffer Z" que contiene la información de todos los polígonos ya elaborados,
para evitar superposiciones.
Incluso en las tarjetas de mayores prestaciones, la tarea del procesador de desglosar la imagen en polígonos,
la sustituye un dispositivo que es el "Setup Engine".
Algo que no hay que olvidar de estas tarjetas son las memorias, generalmente de tipo DRAM, aunque con mejores prestaciones
las VRAM, que son mas rápidas gracias a que añaden un puerto serie especial (el Serial Access Memory
o Sam). En este momento las más rápidas utilizan las nuevas memorias DDR.
Las propiedades y las funciones que manejan estas tarjetas excede ya el tema que tratamos.
José Luis Freire
El Rinconcito Informático: 25/06/2000 - (c) 2000 - 2008 | Creación y mantenimiento : José Luis Freire | Se pretende poder utilizar cualquier navegador. Recomendado 1024x768 |