Hardware Gráfico para Monitores ( Universidad Nacional de Moquegua )

download Hardware Gráfico para Monitores ( Universidad Nacional de Moquegua )

of 30

Transcript of Hardware Gráfico para Monitores ( Universidad Nacional de Moquegua )

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    1/30

    MSc. Ing. Edgar Taya Acosta

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    2/30

    ` Los dispositivos de raster requieren un refresco permanente de ladiscretizacin de la salida grfica. En el caso de los monitores,dicho refresco se realiza en un segmento de la memoria voltil de lacomputadora denominada frame buffer o buffer de pantalla, queusualmente se implementa por medio de memoria RAM de altavelocidad localizada dentro de la tarjeta grfica. El buffer de

    pantalla es accedido en forma rtmica por el generador de video,que es el encargado de componer" la seal de video que va haciael monitor. Al mismo tiempo, al producirse una salida grfica porparte de la CPU de la computadora, la misma debe ser discretizaday almacenada en el buffer de pantalla.

    `

    Este acceso debe ser permitido solamente en los momentos en losque el generador de video no est accediendo al buffer, y por lotanto se requiere el uso de un rbitro que mantenga abierto elacceso al buffer solo en esos casos

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    3/30

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    4/30

    ` El temporizado es crtico en el manejo del buffer de pantalla, por loque se requiere memoria RAM de alta velocidad, mucho mayor quela velocidad requerida para la RAM de la CPU. Por ejemplo, en unanorma de video de 1024 pixels por lnea, la pantalla es refrescada35 veces por segundo a una tasa de aproximadamente un milln depixels por pantalla. Esto significa que en promedio el buffer de

    pantalla es accedido 35 millones de veces por segundo por elgenerador de video, lo cual requiere una velocidad de acceso amemoria de aproximadamente 30ns para cumplir solo con elrefresco de pantalla. En una situacin como sta, utilizar memoriade 25ns. para el buffer de pantalla permite utilizar solamente unpico de 5 millones de accesos por segundo para la CPU, lo cual enmuchos casos es insuficiente si se tiene en cuenta que el acceso

    entre la CPU y la tarjeta grfica por el bus ISA debe cumplir ciertoprotocolo que hace ms lenta la comunicacin.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    5/30

    ` Otro esquema posible para manejar la memoria de pantalla es utilizar latecnologa

    ` de bus local (difundida alrededor de 1993 con las motherboard 486 ytarjetas Vesa Local

    ` Bus). Basicamente la idea es evitar el uso del bus de datos ISA parainterconectar la

    ` tarjeta graca con la CPU. De ese modo se utiliza un segundo bus

    (llamado bus local),` normalmente de 32 bits en vez de 16, con la velocidad del reloj externo del

    microprocesador` (50Mhz. en vez de 8.33) y con capacidad de acceso directo a memoria (ver` Figura 2.2). Este tipo de conguraciones permitio una mejor utilizacion

    del ancho de` banda marginal de la memoria del frame buer, y por lo tanto, en

    determinadas apli-caciones, como por ejemplo animaciones, la prestacionde un mismo hardware aumenta

    ` en un orden de magnitud solamente al modicar la conguracion deacceso.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    6/30

    ` La evolucin del hardware grfico en PC siguiesquemas similares, utilizndose primero el port PCI yluego el AGP. Las tarjetas grficas PCI tenan unaconfiguracin similar a las tarjetas ISA dado que el portest pensado para dispositivos genricos.

    ` Sin embargo, el acceso es en 32 bits, a frecuencia dereloj externo, y en algunos casos con posibilidades deacceso directo a memoria. El port AGP, por su parte,permite un acceso en 64 bits a frecuencia interna delmicro (1Ghz. en algunos casos) directamente al bus

    interno y al cach. Por lo tanto es esperable unrendimiento cientos de veces mayor que con las tarjetasISA.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    7/30

    ` Un tema que evolucion paralelamente a la velocidad de acceso yprocesamiento en las tarjetas grficas, fue la implementacin por hardwarede gran parte de los algoritmos de la tubera de procesos grficos.

    ` En efecto, la mayor parte de los algoritmos bsicos que veremos en lossiguientes dos captulos se caracterizan por ser directamenteimplementables en hardware, lo que acelera no solamente su ejecucin

    sino tambin la comunicacin entre la CPU y la tarjeta grfica.

    ` Dependiendo del sistema operativo, esta comunicacin se establece atravs de un protocolo que permite abstraerse al desarrollador deaplicaciones de los detalles de implementacin de estos algoritmos. Unejemplo destacado son las actuales tarjetas G-Force, que implementan porhardware no solo los algoritmos bsicos 2D y 3D sino gran parte de losmodelos de iluminacin, sombreado, mapeo de texturas y dems. De esa

    manera, una de estas tarjetas est en condiciones de manipular escenasmuy complejas en tiempos interactivos.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    8/30

    ` Otro interesante nivel de abstraccin con el quecontamos actualmente para el desarrollo de sistemas decomputacin grfica, son las bibliotecas (tambinllamadas libreras) grficas, las cuales encapsulantambin gran parte de las funciones y procedimientos

    necesarios en la tubera de procesos. En la ltimadcada, OpenGL fue adquiriendo hegemona por ser losuficientemente completa, verstil, y por permitir eldesarrollo intermigrable entre diferentes plataformas. Enla actualidad, paquetes y bibliotecas mucho mscomplejas y especficas como VTK, Fly3D y otras,asientan su funcionalidad sobre OpenGL.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    9/30

    ` Recapitulando, la clave del funcionamiento de la tarjetagrfica no est en los requisitos de memoria, sino en laestructura del generador de video. El generador devideo debe recorrer la memoria del buffer de pantalla yentregar las lneas de barrido al monitor dentro de una

    determinada norma de video. Dicha norma puede seruna norma de televisin (PAL o NTSC) o de monitor(1024x768, 800x600, etc.).

    ` Entonces, el barrido es producido por un generador de

    barrido cuyas frecuencias horizontal y vertical sonprogramables en funcin de la norma que se utiliza.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    10/30

    ` Las seales de barrido son enviadas al monitor, perotambin se utilizan para encontrar la posicin dememoria en la cual est almacenada la informacingrfica de cada pixel que constituye una lnea de

    barrido. Esto se realiza por medio de una unidadaritmtica que encuentra una direccin lineal a partir delos valores de la seal de barrido horizontal y vertical.La direccin lineal habilita la salida del valoralmacenado en un lugar de la memoria del buffer de

    pantalla. Dicho valor es transformado en informacingrfica por medio de una tabla de color, excepto en elmodo true color que se explicar ms adelante.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    11/30

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    12/30

    ` En las tarjetas grficas se representa el color por medio del espaciocromtico RGB. Esto significa que el color de cada pixel serepresenta por medio de una terna de valores de las componentesen rojo, verde y azul, respectivamente, que tiene dicho color.

    ` Normalmente es innecesario almacenar dicha terna para cada pixel.

    ` En cambio se utiliza una tabla de colores predefinidos para lograrun uso ms eficaz del buffer de pantalla, dado que en el mismo nose almacena el color del pixel sino el ndice al color correspondienteen la tabla de colores.

    ` Por ejemplo, si se utilizan solamente256 colores simultneos,entonces es necesario almacenar solamente 1 byte de ndice paracada pixel.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    13/30

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    14/30

    ` En dicho modelo se utiliza la sentencia putpixel(x,y,c) para accederal buffer de pantalla y setear el pixel en la posicin (x, y) con elndice de color c, con x, y, c de tipo word. Para setear la tabla decolores se utiliza la sentencia setrgbpalette(c,r,g,b), donde c es elndice del color a setear, y r, g, b son las componentes en el modeloRGB del color.

    ` En los modos grficos VGA y super VGA, los parmetros r, g, b sonde tipo word, pero se truncan los dos bit menos significativos, dadoque el rango efectivo de cada componente es de 0 a 63. Estopermite definir 256 colores simultneos de entre 256K coloresdefinibles. Por lo tanto es conveniente utilizar una aritmtica dentrode dicho rango para representar los colores, y multiplicar por 4 en elmomento de la llamada.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    15/30

    ` El manejo se simplifica en el modelo true color, en elcual cada pixel tiene alocada la memoria pararepresentar las componentes en RGB del color en que

    est seteado.` Esto representa triplicar el tamao del buffer de pantalla

    y el ancho de banda de la memoria asociada, lo cualtiene un costo bastante elevado, pero permiterepresentar 16.7M colores simultneos.

    ` En realidad, las tarjetas modernas tienen 8 bytes porpixel (tres para el color, uno para el u opacidad, ycuatro para el z-buffer), y en algunos casos puedenhaber otros 8 bytes ms para buffer de texturas,iluminacin, etc.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    16/30

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    17/30

    ` Como el modelo true color no est debidamente soportado en losmodos antiguos de video, probablemente para poder acceder albuffer de pantalla se requiera acceder la memoria por medio deinterrupciones, reescribir los drivers de video, o instalar driversespeciales para tarjetas grficas especficas. Afortunadamente, enlos lenguajes visuales las componentes que tienen propiedades

    grficas accesibles al programador son programables con el debidonivel de abstraccin. Toda componente visual con propiedad bitmaptiene la posibilidad de que su apariencia sea modificada, a partir decambiar el contenido de dicho bitmap. Por ejemplo, en la plataformaDelphi, las componentes de las clases form, picture, panel, etc.,heredan la propiedad canvas que, como su nombre lo indica,permite que la apariencia visual de la componente sea modificada.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    18/30

    ` En particular, el bitmap de dicha propiedad esaccesible por medio de la propiedad pixels, quees simplemente una matriz de tamao idnticoal bitmap, y que en cada celda representa elcolor asociado al pixel respectivo.

    ` De esa manera, para modificar el contenido delpixel x,y de la componente, setendolo al color(r; g; b), es necesario modificar el contenido de

    dicha matriz por medio de una sentenciapicture.canvas.pixels [x][y]:=r + 256 * g + 65536* b;

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    19/30

    ` A partir de este punto, nos vamos a comprometercon el modelo de dispositivo de raster. Paraconseguir independencia de dispositivo, entonces,

    es necesario adoptar un conjunto de primitivas yestablecer una serie de mtodos que permitanrepresentar dichas primitivas en nuestrodispositivo de raster satisfaciendo un conjunto de

    especificaciones.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    20/30

    ` El primer paso para conseguir unarepresentacin adecuada de las primitivas escaracterizar matemticamente el medio que nos

    permite representarlas. Las primitivas grficasindependientes de dispositivo (en la imagen"mental del usuario) normalmente serepresentan en un espacio Eucldeo de una

    determinada dimensin. En dichas condicionesun punto es una entidad matemtica p = (x, y),donde (x, y) R2.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    21/30

    ` En el soporte aritmtico de la computadora, dicharepresentacin se efecta con los tipos de datosprovistos, que pueden ser nmeros reales conpunto flotante de simple o doble precisin. Este

    espacio se denomina espacio de la escena y esuno de los muchos espacios que se utilizaranpara factorizar adecuadamente las diversastareas de un sistema grfico.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    22/30

    ` Por ltimo, en el soporte grfico del buffer de pantalla, un punto serepresenta con un pixel, y dicha representacin se efectaseteando una posicin de memoria con un contenido dado. Esteespacio se denomina espacio de pantalla y se direcciona a partirdel sistema de coordenadas fsico, cuyo origen es el vrticesuperior izquierdo.

    ` Es posible encontrar varias correspondencias posibles entre elsistema de coordenadas fsico y un sistema de coordenadasarbitrario en el espacio de la escena. En la literatura normalmentese considera que un pixel es un punto con extensin" en el espaciode la escena, y por lo tanto el origen de dicho espacio coincide conel vrtice superiorizquierdo del pixel (0,0). Desde nuestro punto devista, esto no es del todo correcto, y parece ms adecuado pensarque el origen del sistema de coordenadas de la escena esta en elcentro del pixel (0,0).

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    23/30

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    24/30

    ` De esa manera, el espacio de pantalla es unespacio discreto y acotado [0 .. maxx] x [0 ..maxy], con maxx, maxy N, el cual est en

    correspondencia con el espacio de la escena(eucldeo) (x,y) R2 a travs de las operaciones X := round(x);

    Y := round(y);

    ` Por dicha razn es que la operacin de llevaruna primitiva del espacio de la escena alespacio de pantalla se denomina discretizacin.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    25/30

    ` Es muy difcil escoger un conjunto de primitivasgrficas que sea adecuado para la representacinde todo tipo de entidades grficas. Sin embargo,

    el siguiente subconjunto en la prctica resultasuficiente:

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    26/30

    ` Puntos: Se especifican a partir de su localizacin y color. Sudiscretizacin es directa, como se mencion ms arriba.

    ` Segmentos de recta: Son esenciales para la mayor parte de lasentidades. Se especifican a partir de un par de puntos querepresentan sus extremos.

    ` Circunferencias: En algunos casos representar entidadescurvadas con segmentos poligonales puede ser indadecuado ocostoso, por lo que en la prctica las circunferencias o crculos seadoptan como primitivas. Se especifican con la posicin de sucentro y su radio.

    ` Polgonos: Son indispensables para representar entidades slidas.Se representan a partir de la secuencia de puntos que determina lapoligonal de su permetro.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    27/30

    ` En el momento de escoger un mtodo dediscretizacin para una primitiva grfica, esindispensable contar con criterios que permitan

    evaluar y comparar las ventajas y desventajas delas distintas alternativas.

    ` Entre todas las especificaciones posibles,

    podemos mencionar las siguientes:

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    28/30

    ` Apariencia: Es la especificacin ms obvia,aunque no es fcil describirla en trminosformales.

    ` Normalmente se espera que un segmento de

    recta tenga una apariencia recta ms all deque se hallan escogido los pixelsmatemticamente ms adecuados.

    ` Tampoco debe tener discontinuidades o puntosespreos.

    ` Debe pasar por la discretizacin del primer yltimo punto del segmento. Debe ser uniforme,etc.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    29/30

    ` Simetra einvariancia geomtrica: Estaespecificacin se refiere a que un mtodo dediscretizacin debe producir resultadosequivalentes si se modifican algunas propiedades

    geomtricas de la primitiva que se estdiscretizando. Por ejemplo, la discretizacin de unsegmento no debe variar si dicho segmento setraslada a otra localizacin en el espacio, o si es

    rotado, etc.

  • 8/6/2019 Hardware Grfico para Monitores ( Universidad Nacional de Moquegua )

    30/30

    ` Simplicidad y velocidad de cmputo: Como los mtodostradicionales de discretizacin de primitivas sedesarrollaron hace tres decadas, en momentos en quelas

    ` posibilidades del hardware y software eran muylimitadas, los resultados eran muy` sensibles al uso de memoria u operaciones aritmeticas

    complejas. Por lo tanto,` los metodos tienden a no depender de estructuras

    complejas y a ser directamente` implementables en hardware especco de baja

    complejidad.