Atariware Wiki: Sección 5 - Hágalo en la sombra

https://www.atariware.cl/wiki     Versión: 3 (01.11.2020 01:02)

Sección 5 - Hágalo en la sombra

https://www.atariware.cl/archivos/compu-util1/sombra.png
(Una introducción a los gráficos tridimensionales en Computadores Atari)

Si has estudiado el Manual de tu Atari, probablemente ya sabrás que tu máquina permite el acceso a 128 colores, cosa que no todos los microcomputadores pueden hacer.

Pero hay algo en lo que tal vez aún no has reparado y es que esos colores se especifican con dos parámetros independientes, lo que te permite crear imágenes «tridimensionales» en la pantalla, es decir, dar la sensación de volumen.

Lo dos parámetros en cuestión son el color (o matiz) y la luminosidad (o luminancia).

Puedes acceder a 16 colores (los matices), cada uno de los cuales puede ser obscurecido o aclarado colocando la luminancia en alguno de los 8 niveles permitidos.

Generalmente, los computadores que ofrecen una cantidad limitada de colores (16 comúnmente), tienen matices y luminancias preseleccionadas para cada color, de modo que el contraste entre los colores es siempre aparente.

Si dos colores tienen la misma luminosidad, no notarás diferencia entre ellos al deplegarlos en una pantalla monocromática como un TV. blanco y negro o un monitor de un solo color (verde o ámbar).

La ventaja del esquema usado por Atari es que la amplia variedad de colores disponibles te permitirá crear hermosas figuras.

El programa que ahora te presentamos ilustra una labor bastante común cuando se trabaja con gráficos: la representación tridimensional de un objeto sólido, utilizando el recurso del sobreado, tal como lo haría un buen artista.

Puesto que podemos desplegar tres colores además del color de fondo en alguno de los modos gráficos de mediana resolución, podremos representar un cubo sombreado. Después de todo, sólo se puede ver tres caras de un cubo a la vez, cualquiera sea la posición en que lo coloquemos.

La finalidad de este programa es, entonces, crear un representación tridimensional de un cubo, en la cual el «realismo» se obtendrá mediante el control del sombreado de cada una de las caras visibles.


En caso que aún no te hayas familiarizado con los gráficos en ATARI, haremos a continuación un breve repaso.

Los colores deplegados son establecidos por el comando SETCOLOR, el que tiene la forma:

SETCOLOR A,B,C en donde

A es el registro de color, que puede tomar valores entre 0 y 4, dependiendo del modo gráfico.
B es el matiz, que puede variar entre 0 y 15, asumiendo los colores según se indica en la Tabla 1, más adelante.
C es la luminosidad (o luminancia) del color, y es un número par entre 0 y 14. Mientras mayor sea el número, más brillante será el depliegue, siendo el 14 un blanco casi puro.

Una vez que has fijado tus registros de color, necesitas indicar cual de los registros deberá usarse en los diferentes comandos para graficar (PLOT y DRAWTO). Esta función se realiza con la sentencia COLOR, que tiene la forma:

COLOR D

en la que D es la referencia al registro de color en el cual está localizado el color (valga la redundancia) que deseas utilizar.

IMPORTANTE!

El valor de D es mayor v que el registro de color a utilizar, en una unidad. En otras palabras: D = A + 1

Tabla 1
Colores y valor correspondiente de b en SETCOLOR
ColorValor de b
Gris0
Dorado1
Naranja2
Rojo anaranjado3
Rosado4
Purpura5
Purpura azulado6
Azul (un matiz)7
Azul (otro matiz)8
Celeste9
Turquesa10
Verde azulado11
Verde12
Amarillo verdoso13
Naranja verdoso14
Naranja claro15

Programa demostración de sombreado
10 REM DEMOSTRACIGN DE SOMBREADO
20 GRAPHICS 23
30 OPEN #1,4,0,"K:"
40 FOR I=0 TO 4:SETCOLOR I,9,4:NEXT I
50 XO=48:YO=36
60 COLOR 1
70 FOR I=0 TO 40
80 PLOT XO,YO+I:DRAWTO XO+40,YO+I
90 NEXT I
100 COLOR 2
110 FOR I=1 TO 24
120 PLOT XO+I,YO-I:DRAWTO XO+I+40,YO-I
130 NEXT I
140 COLOR 3
150 FOR I=1 TO 24
160 PLOT XO+40+I,YO-I:DRAWTO XO+40+I,YO+40-I
170 NEXT I
180 FOR I=0 TO 2
190 GET #1,A
200 IF A<48 THEN A=48
210 SETCOLOR I,1,2*(A-48)
220 NEXT I
230 GOTO 180	

Es el momento de revisar el programa y contarte como funciona.

El listado comienza colocando tu Atari en un modo gráfico de mediana resolución (línea 20), suficiente para las necesidades de nuestro programa.

La sentencia OPEN, en la línea 30, nos permite obtener (GET) información desde el teclado sin tener que presionar RETURN. Fíjate que la sentencia GET, en Atari Basic, funciona de un modo absolutamente diferente a como lo hace en otras versiones de Basic (Microsoft, por ejemplo).

A continuación, el mismo matiz de color es colocado en todos los registros de color, de modo que no podrás ver el cubo cuando sea dibujado por primera vez.

La cara frontal del cubo es dibujada en COLOR 1 (desde el SETCOLOR, registro 0) por los comandos contenidos en las líneas 70 a 90. Las otras dos caras son dibujadas en COLOR 2 y COLOR 3 por los comandos de las líneas 110 a 130 y 150 a 170, respectivamente.
En ese punto, el computador espera en la línea 190 hasta que sea presionada una tecla.

Como esperamos que presiones alguna de las teclas numéricas entre 0 y 7 (las que tienen los códigos ATASCII 48 a 55), las líneas 200 y 210 convierten la tecla presionada a un número par entre 9 y 14 que determinará la luminancia en los comandos SETCOLOR.

El programa espera que se presionen tres teclas, una para cada cara del cubo. Cuando se pulsa cada tecla, las caras del cubo se hacen visibles, una a una (intenta con 5, 6 y 7, para empezar).

Si deseas cambiar el sombreado, escribe otros números entre 0 y 7 y observa lo que sucede.

Ahora bien: si deseas resultados más novedosos, escribe J, K y L.

Nuevamente obtendrás el cubo sombreado, pero el color habrá cambiado de dorado a magenta.

Como lo estarás sospechando, los valores de luminancia mayores que 14, provocan cambio en el matiz de color.

Ahora que has aprendido esta técnica de sombreado, podrás hacer figuras verdaderamente hermosas con tu Atari.