La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito...

100
La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez

Transcript of La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito...

Page 1: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

La informática gráfica en los sistemas de entretenimiento

doméstico.

La informática gráfica en los sistemas de entretenimiento

doméstico.Miguel Ángel Expósito Sánchez

Page 2: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Breve evolución de los s.e.dBreve evolución de los s.e.d

1889

Fusajiro Yamauchi establece la Marufuku Company que fabricaba y distribuía “Hanafuda”, unas cartas de juego japonesas. En 1907, Marufuku empieza a fabricar las llamadas “cartas del oeste” y la empresa cambia su nombre a “The Nintendo Playing Card Company” en 1951. “Nintendo” significa “Dejar la suerte en manos del cielo”.

Page 3: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Breve evolución de los s.e.dBreve evolución de los s.e.d 1947 Akio Morita y Maseru Ibuka crean la “Tokio

telecommunications Engineering Company”, después de ver un grabador de cassette de fabricación americana, deciden que su compañía debe empezar a fabricarlos, en 1952 alcanzan un capital de 25000 dólares, suficiente como para ser la primera empresa no norteamericana en licenciar el transistor, con lo que fabricaron la primera radio de bolsillo a pilas, que fue un éxito en Japón, así que los fundadores Ibuka y Morita empezaron a observar la posibilidad de vender sus productos en los estados unidos y Europa. Conscientes de que la traducción al inglés del nombre de su compañía es demasiado complicada para los angloparlantes modificaron la palabra Latina “Sonus” (sonido) que se quedó en SONY, una palabra que no tiene ningún significado.

Page 4: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Breve evolución de los s.e.dBreve evolución de los s.e.d 1954 El veterano de guerra estadounidense David Rosen

observa la popularidad de las máquinas mecánicas de juegos que funcionan con monedas en las bases militares estadounidenses en Japón, así que crea SErvice GAmes para exportar estos juegos a Japón. En los 60, Rosen decide crear sus propios juegos a monedas, así que compra una fabrica de gramolas de Tokyo y una empresa de máquinas tragaperras. El nombre SEGA, abreviatura de “SErvice GAmes” se estampa en todos los juegos que Rosen produce, y finalmente Rosen lo adopta como su nombre de empresa.

Page 5: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Breve evolución de los s.e.dBreve evolución de los s.e.d

En 1971 un estudiante del MIT diseña el primer juego asistido por computador. La primera máquina recreativa a monedas, computer space.

No tuvo éxito debido a que ofrecía una jugabilidad confusa.

Además los ordenadores eran muy caros por aquella época. Pero la puerta a los juegos asistidos por computador ya estaba abierta.

Page 6: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 7: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 8: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Breve evolución de los s.e.dBreve evolución de los s.e.d

1974 Atari lanza “PONG”, el primer sistema

de entretenimiento digital doméstico, presenta un juego muy simple y tampoco obtiene muchas ventas.

Page 9: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 10: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 11: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Breve evolución de los s.e.dBreve evolución de los s.e.d

1985 Nintendo lanza NES (Nintendo Entertainment

System) o Famicom, que introducía como principal novedad (ya presente en alguna consola anterior) la presencia de cartuchos intercambiables. Fue la consola de 8 bits más exitosa de la época en Asia y Norte América, vendiendo 60 millones de unidades en todo el mundo.

Page 12: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 13: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Breve evolución de los s.e.dBreve evolución de los s.e.d

En los sucesivos años la agresiva competencia entre fabricantes llevó a la aparición de muchos otros sistemas de videojuegos domésticos de 16, 32, 64 y 128 bits que inundaron el mercado con mayor o menor éxito hasta hoy.

Con la aparición de nuevas tecnologías y la mejora considerable de la electrónica ha habido un antes y un después en la filosofía de trabajo y sobretodo en la generación de gráficos en tiempo real.

Page 14: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Desarrollo de aplicaciones para consolasDesarrollo de aplicaciones para consolas

¿Cómo llega un título a una plataforma de entretenimiento doméstico?

Normalmente la empresa desarrolladora del software compra al fabricante de la plataforma elegida un kit de desarrollo oficial que incluye un compilador para la CPU del sistema, las librerías necesarias, la documentación de las mismas (API) y una consola de prueba.

Page 15: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

A la derecha la T10000, una PlayStation 2 de desarrollo incluida en el Kit de Desarrollo Oficial “Sony Computer Entertainment” para PS2. Tiene más memoria RAM que una PS2 comercial, 3 discos duros, tarjeta de red, pesa 13 Kg y cuesta 20000 €. Les sirve a los desarrolladores para probar el software sobre la propia máquina.

A la izquierda una PS2 comercial.

Page 16: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

PresentaciónPresentación

Vamos a analizar el hardware que daba soporte a los gráficos de una consola del “Antes” y de una del “Después” en profundidad para poder establecer comparaciones.

También veremos la forma de generar gráficos con estos dispositivos.

Page 17: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Sega MegaDriveSega MegaDrive

Conocida en Japón y EEUU como “Genesis”, la Sega MegaDrive fue lanzada en 1989 siendo el primer sistema de videojuegos de 16 bits reales. Vendiendo 1.6 millones de unidades en 1990.

Page 18: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Características técnicasCaracterísticas técnicas

CPU: Motorola [email protected] Coprocesador: Zilog [email protected] RAM: 64 Kbytes ROM: 1MByte Sonido: Yamaha YM2612 con 6 canales FM y

2 canales PCM. Generador de ruido programable de 4

canales Texas Instruments SN76489 Memoria de sonido: 8KBytes

Page 19: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Otras característicasOtras características

Implementa DMA (la CPU puede solicitar al coprocesador copiar de una zona a otra grandes cantidades de datos (p.ej, cargar gráficos a la memoria de vídeo) en paralelo con la ejecución del programa).

La CPU NO tiene unidad de punto flotante, lo que junto a la velocidad hace que sea imposible (o muy complicado) implementar entornos 3D.

Page 20: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

GráficosGráficos

Procesador dedicado (VDP = Video Display Processor)

VRAM: 64 Kbytes Sistema de 4 paletas, con 512 colores

representables (log2 512 = 9 bits), 16 colores por paleta, un total de 16*4=64 colores simultáneos (memoria dedicada “Colour RAM”).

Page 21: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Sistema de coordenadasSistema de coordenadas

El centro de coordenadas está en la esquina superior izquierda de la pantalla con la dirección del eje y invertida.

Sistema basado en celdas = 1 área de 8x8 píxeles.

Page 22: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

ResolucionesResoluciones

40x28 celdas = 320x224 píxeles 32x28 celdas = 256x224 píxeles

Page 23: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

PlanosPlanos

2 planos deslizantes de tamaño configurable:

32*32, 32*64, 32*128,

64*32, 64*64, 128*32

(en celdas)

Page 24: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

SpritesSprites

¿Qué es un sprite?

– En terminología de videojuegos Cualquier objeto que aparece en pantalla (animado o no) que no pertenece al fondo. Por ejemplo el personaje principal, items que hay que recoger, etc…

Page 25: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

SpritesSprites

Hasta 64 sprites en pantalla (en modo 256x224) y hasta 80 en modo 320x224.

Los sprites también son de tamaño configurable.

8*8, 8*16, 8*24, 8*3216*8, 16*16, 16*24, 16*3224*8, 24*16, 24*24, 24*3232*8, 32*16, 32*24, 32*32

Page 26: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

¿Qué podemos hacer con todo esto?¿Qué podemos hacer con todo esto?

Todos estos recursos definen las características de los juegos de la época (en 2D, la gran mayoría de plataformas o de vista aérea).

El VDP accede a la VRAM (memoria de simple puerto) y a las tablas de planos y de sprites y genera la señal de video que aparece en el monitor.

Page 27: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

CPU

VRAM

DMA

CTRL

8/16 CHANGE

VSRAM CRAM 16 DATA

ADDR

8

VDP

Page 28: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

LimitacionesLimitaciones

Debido a su ausencia de unidad de punto flotante y escasos recursos (memoria, velocidad….) no es lo más adecuado para dibujar primitivas ni aplicar transformaciones que requieran de cálculos en punto flotante (como rotaciones), por lo que prácticamente el 100% de los gráficos de los juegos de esta plataforma están pre-renderizados y simplemente se disponen en pantalla según convenga.

Page 29: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Más limitacionesMás limitaciones

La única transformación que el VDP puede aplicar sobre los sprites es la reflexión ya que no supone más que una inversión en el proceso de lectura de la memoria para generar la señal de vídeo.

La consola no dispone de SO, con lo que el programador debe conocer muy bien la máquina para actuar a bajo nivel sobre direcciones de memoria.

Page 30: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

InterrupcionesInterrupciones

La consola dispone también de interrupciones programables, entre ellas la de sincronismo horizontal y la de sincronismo vertical, producidas por el VDP.

La señal de vídeo generada para el dispositivo de tipo raster contiene grandes márgenes fuera del área de exploración visible para evitar errores por retrasos por cuestiones de temporización.

Page 31: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Esquema de la rasterización de la memoria de vídeo.Esquema de la rasterización de la memoria de vídeo.

DISPLAY SCREEN

RASTER

DISPLAY

VDP FETCHES DISPLAY TYPE

HORIZONTAL RETRACE HORIZONTAL RETRACE

GENERATE HORIZONTAL INTERRUPT

VERTICAL RETRACE

DISPLAY

VERTICAL RETRACE

GENERATE VERTICAL INTERRUPT

•Cada una de las líneas que forman la imagen en pantalla no es más que una secuencia de píxeles de colores, que son generados por el VDP partiendo del contenido de la VRAM.

•El área marcada con Display Screen es el área de exploración visible (lo que vemos en pantalla). El resto se usa para prevenir errores y no contiene información del color.

Page 32: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

El VDP por dentroEl VDP por dentro

Como ya hemos dicho tenemos 2 planos deslizantes (para los fondos del juego) y otro plano donde aparecen los sprites.

Page 33: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

SPRITE

WINDOW PRIORITY CONTROLLER DISPLAY

BACKGROUND

SCROLL A

SCROLL B

IGNORAR EL PLANO “WINDOW”

Page 34: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

PrioridadPrioridad

Esto no significa que los sprites aparecen siempre por encima del plano A y este siempre por encima del B.

Veremos que cada celda que compone un plano o cada sprite tiene un bit de prioridad que le dirá al VDP si dibujarlo encima del resto de cosas.

Page 35: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Filosofía de trabajoFilosofía de trabajo No existe una VRAM como una matríz rectangular de

dimensiones iguales a la resolución donde vamos escribiendo píxeles, sino que trabajamos con:– Una lista de sprites, que contiene las dimensiones

del sprite (en celdas), sus coordenadas en pantalla, su prioridad de dibujado, la dirección en la VRAM en la que empiezan sus gráficos, el número de paleta que contiene sus colores y dos bits indicando si el sprite estará reflejado horizontal y/o verticalmente.

– Dos listas de celdas (una para cada plano), que contiene para cada celda la dirección en la que está almacenada en la VRAM, su prioridad y el número de paleta que contiene sus colores.

Ambas listas, como veremos se almacenan junto a los gráficos en la VRAM.

Page 36: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Restricciones de memoriaRestricciones de memoria Al tratarse la VRAM de una memoria de simple

puerto, no pueden acceder concurrentemente a ella la CPU y el VDP, por tanto durante la generación de una línea de vídeo las direcciones de memoria correspondientes a la VDP no son accesibles por la CPU.

Durante los intervalos en los que se genera el margen fuera del área de exploración visible la CPU puede acceder continuamente a la VRAM.

Si se accede a la VRAM durante un intervalo de tiempo “prohibido”, la CPU se bloquea (mediante una interrupción) hasta que la memoria de vídeo quede libre. (del orden de nanosegundos)

Page 37: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

ResumiendoResumiendo Cada plano se divide en celdas de 8x8 y

está asociado a una lista de celdas, que contiene en orden una lista de estructuras que contiene información sobre cada una de las celdas que componen el plano.

Page 38: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 39: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 40: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Si escribimos esto en la tabla de celdas del plano …Si escribimos esto en la tabla de celdas del plano …

Nº celda Prioridad Paleta

0 1 0

0 1 0

0 1 0

1 1 0

3 1 0

0 1 0

…. … …

2 1 0

4 1 0

… … …

Page 41: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 42: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Como podemos ver, para el tronco hemos utilizado varias veces la misma celda de la VRAM (la número 7) y para los espacios vacíos hemos dejado a propósito la primera (número 0) en blanco.

Page 43: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 44: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

DeslizamientoDeslizamiento

Como es un plano deslizante podemos moverlo como queramos (tanto horizontal como verticalmente) por nuestra ventana de mundo.

¿Qué ocurrirá cuando lleguemos a los límites del plano?

Page 45: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 46: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Scrolling de juegosScrolling de juegos

El juego controla en todo momento la posición de los planos escribiendo en la memoria de scroll.

Si se combinan los dos planos a la vez se puede crear efecto de profundidad visualizando en el de menor prioridad un plano lejano (montañas, …) y en el de mayor prioridad uno cercano (las plataformas) y moviéndolos a distinta velocidad.

Sí, la megadrive es una máquina puramente 2D.

Page 47: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Animación de fondosAnimación de fondos

Se pueden crear también fondos animados simplemente reescribiendo la tabla de celdas de un plano modificando sólo las que se ven afectadas de un fotograma al siguiente.

Page 48: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 49: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

SpritesSprites

Con los sprites ocurre de forma similar, se escribe una entrada en la tabla de sprites por cada uno de ellos indicando las coordenadas x e y que tendrá en pantalla y algunos atributos más.

Los gráficos del sprite deben estar almacenados en una secuencia concreta según sus dimensiones (en celdas).

Page 50: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

0

V 1 cell H 1 cell

V 1 cell H 2 cell

0 1

V 1 cell H 3 cell

0 1 2

0

V 2 cell H 1 cell

V 2 cell H 2 cell

0 2

V 2 cell H 3 cell

0 2 4 1 3 1 3 51

0

V 3 cell H 1 cell

V 3 cell H 2 cell

0 3

V 3 cell H 3 cell

0 3 6 1 4 1 4 71

2 5 2 5 82

0

V 4 cell H 1 cell

V 4 cell H 2 cell

0 4

V 4 cell H 3 cell

0 4 8 1 5 1 5 91

2 6 2 6 A2

3 7 3 7 B3

Page 51: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Se escribe en la entrada de la tabla el número de celda en la VRAM que contiene la primera celda de la secuencia y el VDP dibuja el sprite en las coordenadas que le demos en la entrada.

La animación se consigue juntando varias secuencias (una por fotograma de animación en la VRAM y reescribiendo en la entrada del sprite a animar el número de celda de inicio para la secuencia del siguiente fotograma).

Page 52: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 53: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Efectos de transparenciaEfectos de transparencia

No se pueden crear efectos de fade (desvanecimiento) ya que ni las paletas ni el VDP manejan transparencia.

Para simular el efecto se reescriben los colores de la paleta a la que está asociado el sprite o conjunto de celdas a desvanecer y se funde con un fondo sólido.

Page 54: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Juegos de plataformasJuegos de plataformas

Básicamente consisten en cargar todos los gráficos necesarios (sprites, fondos…) desde el cartucho de ROM hasta la VRAM (usando normalmente la capacidad DMA de la consola), y mantener actualizadas las tablas de sprites y celdas en todo momento según las demandas del juego.

Page 55: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

El problema de los mapasEl problema de los mapas

Los mapas (las pantallas) que observamos en los juegos de plataformas sólo son una gran composición de unas pocas celdas que se repiten muchas veces.

Los mapas (uno diferente por cada nivel del juego) son fijos y se almacenan en grandes matrices.

Page 56: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

El problema de los mapasEl problema de los mapas

Pero existe un problema!!, un mapa es muy grande (del orden de 2300 celdas de ancho) y los planos deslizantes que tienen que mostrarnoslo todo según avanza la cámara son demasiado pequeños (hemos dicho al principio que el máximo de 128 celdas de ancho).

Page 57: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

La soluciónLa solución

Solución: El juego aprovecha el efecto que tiene el desbordamiento del plano en pantalla (que muestra a la parte derecha lo que ha quedado oculto a la izquierda).

Page 58: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Carga en el plano la zona del mapa que se ve.

Page 59: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Carga en el plano la zona del mapa que se ve.

Cuando se mueve la cámara, calcula cuando se va a llegar a los límites del plano y reescribe los números de celda que ya han quedado ocultos por la ventana de mundo en la parte contraria a aquella por la que nos estamos saliendo tomando nuevos valores de la matriz del mapa.

Page 60: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

¿Qué ocurre si no se hace esto?¿Qué ocurre si no se hace esto?

Dato curioso:– En el juego Super Mario Bros (NES –

1982) estaba previsto que al terminar el mapa y llegar al final de la pantalla se tocase el mástil de una bandera.

– Pero no se tuvo en cuenta que el personaje podía saltar más de lo previsto y saltarse el mástil, con lo que no se detectaba esa colisión que finalizaba el nivel.

Page 61: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

El juego dejaba de controlar el desbordamiento del plano y por mucho que avanzásemos siempre pasaba tras de nosotros el mismo fondo (como en los dibujos animados cutres). Finalmente se acababa el tiempo y morías.

Page 62: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 63: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Implementación de antialiasingImplementación de antialiasing

Aquí también se producen efectos de aliasing ya que aunque los gráficos estén prerrenderizados trabajamos a una resolución considerablemente baja y conviene suavizar la imagen en pantalla.

Page 64: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

El problema y la soluciónEl problema y la solución

Problema: El sistema no se puede permitir realizar tantos cálculos y mantener una velocidad de 25 fps.

Solución: Aprovechar el efecto de suavizado producido en los monitores CRT que reciben una señal de vídeo compuesto.

Page 65: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

¿Cómo funciona?¿Cómo funciona?

En una señal de vídeo compuesto (PAL o NTSC normalmente), el vídeo y los sincronismos van en la misma señal.

En el estándar PAL la imagen tiene 625 lineas, en su versión entrelazada primero se transmiten las líneas impares (esto se llama odd frame) y después las pares (even frame), de manera que sólo se visualiza la mitad de las líneas totales en cada pasada.

Page 66: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Barrido entrelazadoBarrido entrelazado

Campo impar (50 veces por segundo)

Campo par (50 veces por segundo)

Fotograma completo (25 veces por segundo).

Page 67: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Y que??Y que??

Pues si tenemos que generar una señal de video de 625 líneas y nuestra resolución es de 320x224 o 256x224, si tenemos en cuenta que la imagen no ocupa toda la pantalla y que tiene 177 líneas de margen superior e inferior nos quedan 625 – 224 = 401 líneas útiles de imagen, que es justo el doble de la resolución vertical (224).

Page 68: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Modos de barrido raster del VDPModos de barrido raster del VDP

Si el modo de entrelazado del VDP está desactivado, se transmiten las lineas en orden ascendente de coordenada y

El modo entrelazado 1 del VDP transmite las mismas lineas en el fotograma par e impar, con lo que cada pixel tiene una altura de 2 líneas en pantalla.

En modo entrelazado 2 cada celda consiste de 8x16 píxeles, con lo que la resolución vertical se dobla y en cada campo se transmite una línea par/impar.

Page 69: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

0 1 2 3 4 5 6 7

NON - INTERLACE

0 1 2 3 4 5 6 7

INTERLACE 1

0 1 2 3 4 5 6 7

INTERLACE 2

FIELD NO. 1 FIELD NO. 2

Page 70: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

ConclusiónConclusión

El modo entrelazado 1 ofrece una mayor sensación de suavidad ya que el ojo humano tiende a fundir las líneas del fotograma par e impar (las ballenas no juegan a la MegaDrive).

El modo entrelazado 2 hace lo mismo pero con mayor resolución.

Page 71: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 72: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 73: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

EmulaciónEmulación

La historia de los videojuegos ha estado siempre ligada a una muy agresiva competencia.

Veamos ahora cómo el buen hacer de los programadores de la época explotaba esta limitada máquina (que en el momento de su lanzamiento fue la mejor técnicamente) para crear títulos que fueron superventas y que fueron algo más que simples juegos en dos dimensiones.

Veremos ahora imágenes de varios juegos y un volcado de la memoria gráfica.

Page 74: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Logotipo de SEGALogotipo de SEGA

A la derecha vemos que el logotipo ha sido previamente fraccionado en secciones de 8x8 (en la etapa de desarrollo del juego) y ahora ha sido cargado en forma de celdas dentro de la VRAM (imagen derecha). Mediante la escritura de los valores correctos en la tabla de celdas de uno de los planos podemos verlo alineado correctamente en pantalla (imagen de la izquierda). También vemos que sólo se usa 1 de las 4 paletas que sólo contiene los colores usados por el logo. (Y algunos otros tonos usados para un posterior fundido).

Page 75: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Sonic 3 – Sega 1993Sonic 3 – Sega 1993

Visión de los planos en movimiento aplicada a un juego de plataformas en 2D, en la memoria gráfica podemos ver arriba las celdas correspondientes a la animación de las salpicaduras de agua producidas por Sonic al avanzar. Abajo vemos unas líneas verticales amarillas, esto son los datos de la tabla de celdas, almacenados también en la VRAM, que el emulador interpreta como gráficos. Podemos ver también las 4 paletas.

Page 76: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Sonic 3 – Sega 1993Sonic 3 – Sega 1993

Efecto Pseudo-3D creado al reproducir una sencilla animación correspondiente al suelo (sólo se puede girar en las esquinas), con lo que la animación consiste en girar a la derecha y avanzar una casilla, los movimientos inversos reproducen la animación al revés. Las bolas azules están almacenadas en la memoria a varios tamaños, y su posición está precalculada. A la derecha se puede ver el suelo, con colores incorrectos ya que el emulador no lo asocia a su paleta correcta.

Page 77: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

El Rey León – Disney Interactive & Virgin 1994El Rey León – Disney Interactive & Virgin 1994

Los juegos derivados de películas de Disney tenían una excelente animación basada en muchos fotogramas. En esta escena mostrada en “travelling” los animales de la estampida se van acercando hasta que saltan por encima de la cámara, mientras que las paredes del desfiladero avanzan al ritmo de la cámara. Además cada animal avanza a una velocidad diferente (recordamos que no puede hacer escalados), con lo que hay que tener una animación diferente para cada velocidad. Lo ingenioso de esta técnica es contar con varias tablas de celdas y sprites y elegir una para que sea la activa en cada momento. A la derecha se pueden observar varias áreas de datos.

Page 78: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Fundidos (El Rey León)Fundidos (El Rey León)

Al pulsar PAUSA la pantalla se oscurece, lo cual se traduce en reescribir los colores de todas las paletas con su mismo valor pero más oscuro (restándole un porcentaje de cada componente rojo, verde y azul). Todos los gráficos al estar asociados a una u otra paleta aparecen más oscuros. Para hacer que algo se desvanezca se va fundiendo su paleta con el color del fondo (un fondo todo del mismo color).

Page 79: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Efecto 3D – Sonic 2 – Sega 1992Efecto 3D – Sonic 2 – Sega 1992

Esta animación consigue un excelente efecto 3D mientras el personaje avanza por este canal, los gráficos en la VRAM son demasiado difíciles de ver, pero el canal está compuesto por “bloques”, que se corresponden con varias tablas de celdas, cada una asignada a una o varias posiciones distintas de cada tramo.

Page 80: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Sprites – Dragon Ball Z – BANDAI 1994Sprites – Dragon Ball Z – BANDAI 1994

Aquí se pueden observar mejor los personajes que aparecen en pantalla en la VRAM dado que están alineados, cada uno de ellos es un SPRITE (excepto el del fondo), en la imagen derecha, en la parte derecha vemos una lista de sprites (Sprite Liste) que contiene las entradas de la tabla de Sprites (las 10 primeras) en el siguiente formato:

Coordenada X, Coordenada Y, Bits de reflexión prioridad y dimensiones, Nº de paleta, Posición de la VRAM donde empiezan sus gráficos.

Page 81: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Sony PlayStationSony PlayStation

Pasó a la historia por haber sido diseñada con el hardware más apropiado, proporcionando llamativos gráficos en 3D y un sonido impecable a buen precio. Lanzada en 1994 vendió 100 millones de unidades.

Su popularidad le llevó a dar origen a lo que se conoció como “Generación PlayStation”,

Page 82: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Características técnicasCaracterísticas técnicas

CPU: MIPS [email protected] con tecnología licenciada por SGI – 1Kb de caché.

La CPU contiene el Geometry Transformation Engine, encargado de transformar los gráficos 3D en 2D.– 360.000 polígonos sólidos por segundo.– 180.000 polígonos texturizados por

segundo.

Page 83: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Características técnicasCaracterísticas técnicas

DDE: Data Decompression Engine (Un chip encargado de descomprimir texturas, vídeo y sonido en MPEG-1). Conectado directamente al bus de CPU, los datos descomprimidos se envían directamente al procesador gráfico via DMA.

Page 84: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Características técnicasCaracterísticas técnicas

GPU: Graphics Processing Unit, un chip que maneja todos los gráficos en 2D, incluidos los 3D ya transformados por el GTE.

16,7 millones de colores. Resolución: de 256x224 a 640x480 Frame Buffer programable Paletas llamadas Color Lookup Tables

Page 85: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Características técnicasCaracterísticas técnicas

4000 sprites de 8x8 píxeles con escalado y rotación individuales.

Emulación de varios fondos simultáneos para scrolling.

Texturas mapeadas. Sonido: ADPCM con 24 canales con

efectos de sonido.

Page 86: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Características técnicasCaracterísticas técnicas

Memoria: 2Mb de RAM de propósito general.

VRAM: 1 Mb Sonido: 512 Kb Sistema operativo: 512 Kb

Page 87: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Frame BufferFrame Buffer

Aquí si que tenemos una memoria gráfica de tipo “matriz” donde vamos escribiendo (esto lo permiten las memorias de doble puerto).

La psx tiene una VRAM de 1024x512 píxeles con una profundidad de 16 bits por píxel.

Este frame buffer está dividido en 32 áreas virtuales o Tpages (Páginas de textura) de 64x256 píxeles cada una.

Page 88: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 89: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

El FrameBuffer se utiliza para guardar las texturas e imágenes, y parte de él está reservado para el Front-Buffer, o lo que es lo mismo para lo que vemos en pantalla.

Si usamos doble buffer, entonces también tendremos el Back-Buffer dentro del frame-buffer.

Page 90: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 91: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

TIM’sTIM’s

Sony creo un formato gráfico, para almacenar la información gráfica (como un bmp), y además incluir información extra :

Profundidad de color (4,8,15 bits) Posición dentro del frame buffer (x,y) Anchura y altura de la imagen. Coordenadas del CLUT El CLUT es una tabla, guardada también en

el frame-buffer, que contiene la paleta de colores en los formatos de 4 y 8 bits (COLOR LOOKUP TABLE).

Page 92: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

SpritesSprites

Los tamaños de un sprite pueden ser: 256x256 píxels (15 bits/píxel) 128x256 píxels (8 bits/píxel) 64 x256 píxels (4 bits/píxel)

Page 93: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 94: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 95: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

LimitacionesLimitaciones

La PSX TAMPOCO tiene unidad de punto flotante (en las librerías oficiales viene una implementación por software), ya que todas las operaciones gráficas que requieren cálculos en punto flotante las hace un procesador separado.

Page 96: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 97: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.

Primitivas gráficasPrimitivas gráficas La GPU dibuja primitivas en 2D, se le pasa una lista

enlazada de primitivas que contiene: Código de primitiva (círculo, línea …) Parámetros de la primitiva (orígen, destino …) Se le da un puntero al primer elemento de la lista y la

GPU dibuja en el back-buffer las primitivas en el orden en que están dispuestas (algoritmo del pintor).

Por lo tanto los algoritmos de dibujado de primitivas están implementados en la memoria interna de la GPU.

En cada fotograma, la GPU vuelca el contenido del back-buffer al front-buffer, que posteriormente es leído para generar la señal de vídeo.

Page 98: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 99: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.
Page 100: La informática gráfica en los sistemas de entretenimiento doméstico. Miguel Ángel Expósito Sánchez.