
                            PROGRAMACIN  GRFICA

   GRAPH te va a permitir utilizar muchos recursos de tu ordenador que ya
 estabas acostumbrado a ver en los juegos. Efectos de fade, manejo de 
 sprites, pantallas virtuales (PV), etc. podrn ser manejados para crear una
 demo, un juegos o lo que tu imaginacin consiga crear.
   Empezar esta introduccin con las pantallas virtuales (PV) que no son,
 ni ms ni menos, que zonas de memoria ocultas que imtan a la memoria de la
 tarjeta grfica para poder contener varias imagenes de tus programas. Posi-
 blemente te ests preguntado: pero si yo slo quiero tener una pantalla,
 para qu quiero las PV? Pues muy sencillo: si tu construyeses la imagen de
 tu juego directamente sobre la memoria de la VGA, la pantalla parpadearia
 mucho y adems se veria (de forma extremadamente molesta) como se contruye,
 lnea por lnea, la imagen.
   Para evitar catstrofes se recurre a las PV utilizando algoritmos muy
 sencillos de aplicar. Un ejemplo de estos algoritmos podria ser:

                       RESERVAMOS UNA  PANTALLA VIRTUAL
                                      
                                      
                         DIBUJAMOS EL  FONDO EN LA PV <Ŀ
                                                          
                                                          
                        DIBUJAMOS EN LA PV LOS SPRITES     
                                                          
                                                          
                            COPIAMOS LA PV A LA VGA   

   Pero ni as evitamos completamente el parpadeo. La nica forma de evitarlo
 es esperar a que la VGA acabe de actualizar su memoria y en el lapso que hay
 entre actualizacin y actualizacin copiar la pantalla. Esto se llama esperar
 al retrazo vertical (Wait Vertical Retrace) y debe hacerse antes de llamar
 a la funcin de cpia de PV a VGA. Para hacerlo he incluido una MACRO en el
 archivo de inclusin (GRFLIB.INC)
   Pero, que es un sprite? Pues un sprite son todos esos dibujitos de los
 juegos que se mueven por la pantalla. He dividido los sprites en dos grupos
 los animados y los inanimados. Los primeros se referencian por las funciones
 tipo DibujaSprite y los segundos con las del tipo PonFrameAnima. No me ex-
 tender en este tema ya que seguro que est claro que sn (y si no una carta
 y tendreis una mejor explicacin).
   Las paletas son, como las paletas de los pintores, un lugar donde se alma-
 cenan distintos componentes de color para formar las seales analgicas que
 sern transmitidas al monitor para que forme las diferentes variaciones
 cromticas. Estos componentes pueden tener valores entre 0 y 64 por lo tanto
 pueden visualizar 64^3 colores. Por lo tanto en un VGA estandar se pueden 
 visualizar 262144 colores, pero de estos, slo 256 pueden estar simult-
 neamente en pantalla. 
   Los componentes se almacenan segn el esquema RGB, una tripleta compuesta
 por una cantidad de rojo, una de verde y una de azul, por este orden. Para
 cambiar la paleta normalmente no es necesario esperar al "retrazo vertical",
 pero hay gente que piensa que queda mucho mejor. (Aunque algo mejor si 
 queda, yo no lo he hecho en mis rutinas de fade y cambio de paleta).
