dettagli - Amiga Magazine

dettagli - Amiga Magazine dettagli - Amiga Magazine

amigamagazine.info
from amigamagazine.info More from this publisher
08.11.2012 Views

SCRW EQU 320 ClearPixel: m0ve.w DO,D2 and.w #7,D2 1sr.w #3,DO mulu #SCRW/8, D1 add.w D1,DO lea CP-Tab,Al m0ve.b (Al,D2.W),Dl and.b Dl,(AO,DO.W) rts CP-Tab: dc.b 127,191,223,239,247,251,253,254 Ii ciipping Ora siamo in grado di prendere le coordinate dei punti 3D, proiettarle sullo schermo e stamparle, dobbiamo ora cominciare a pensare al movimento delle stelle nella dire- zione dell'osservatore. Questo si ottiene facilmente au- mentando gradualmente la coordinata Z delle stelle. Come intuibile, mentre i pixel si "avvicinano" all'osservatore, la loro posizione diverge sempre di più dal centro dello schermo, fino a fuoriuscire dallo stesso. In questa situazio- ne entra in gioco il clipping, ossia la procedura che deve evitare (normalmente eliminandoli) che i pixel siano stam- pati in zone non visibili dello schermo, per evitare perico- lose operazioni di scrittura nella memoria non allocata dal- la nostra applicazione. Ogni volta che, in seguito a un au- mento eccessivo della coordinata Z, il pixel fuoriesce dallo schermo, sarà buona norma innanzitutto impedirne la stampa, almeno per quel quadro video e, contemporanea- mente, resettare la sua coordinata Z, in modo che dal foto- gramma successivo, il punto sia di nuovo all'interno dell'area visibile e pronto per un ulteriore "viaggio", dalle "profondità dello spazio", fino all'osservatore. Questo è molto semplice e si può ottenere con una proce- dura del genere: Fig. 3 - La rappresentazione tridimensionale deiiu posizione dell'osservatore rispetto al punto. ;Limiti dello schermo SCRW EQU 320 SCRH EQU 256 Clipping : ;Se Xs o Ys sono negative, ;resetta Zp tst.w xs bmi ResetZ tst.w YS bmi ResetZ ;Se Xs o Ys superano i limiti dello schermo, ;resetta Zp cmp . W #SCRW, Xs bge ResetZ cmp .W #SCRH, Ys bge ResetZ rts ResetZ : ;Resetta Zp m0ve.w #O,Zp rts A questo punto abbiamo in mano tutti gli elementi che ci permettono la realizzazione pratica del campo di stelle tri- dimensionale. Un buon accorgimento è fare in modo che esse siano perlomeno alcune decine, in modo da riempire lo schermo senza però appesantire eccessivamente la macchina (soprattutto se parliamo di A500/A600). Visto che le stelle normalmente avanzano tutte alla stessa velo- cità (ma questo non è obbligatorio), nel momento in cui si creano le loro coordinate di partenza, è bene distribuir- le uniformemente nello spazio (coordinata Zp), ma con- temporaneamente, bisognerebbe evitare di rendere trop- po ampia la banda di oscillazione delle possibili coordi- nate Xp e Yp di ciascun punto, in modo che essi prenda- no origine tutti nella zona centrale dello schermo. Niente può fare questo meglio di una buona routine di genera- zione di numeri casuali. In base ai nostri esperimenti, per la generazione di ogni singolo punto, conviene che le coordinate Xp e Yp (che restano sempre costanti per ciascuna stella) siano com- prese tra 8 e -8, mentre la coordinata Z tra O e 800. Nor- malmente, infatti, quando la Z supera la posizione 800, è già fuori dello schermo e, quindi, viene resettata a O dal clipping. Nel prossimo articolo vedremo come ruotare sull'asse Z, sia in senso orario, sia antiorario, l'intero campo stellare, e adotteremo una nuova routine di stampa dei pixel, che permetta l'uso di più colori. In questo modo potremo asso- ciare alla variazione della coordinata Z, anche una variazio- ne dell'intensità del colore dei punti, aumentando notevol- mente l'effetto tridimensionale. Non mancheremo poi di vedere in breve una semplice routine assembly che genera numeri casuali. A

M-TEC T 1230/28LC L'installazione è molto sempli- ce: basta inserire la scheda acceleratrici 68030 a nel cassetto interno del 1200 basso costo per 1200. In que- (in 68030per il 1200 e accertarsi che l'alimentatore sto gruppo compare anche I'A- sia sufficientemente potente pollo 1230, già recensita sul per reggere la scheda e altre numero 84. Caratteristica prin- eventuali periferiche collegate cipale di questo tipo di schede (hard disk, floppy, schede è la limitata espandibilità della PCMCIA). memoria: esse infatti non sfrut- Non esistono jumper di sorta, tano l'intero spazio di indirizza- né la possibilità di tornare tem- mento del 68030 e permettono poraneamente in modo 68020 al massimo 8 Mb di memoria senza rimuovere la scheda. Fast. Questi si riducono a 4 Mb in presenza di una scheda Le prove PCMCIA. L'M-Tec, inoltre, non Le nostre prove sono state effet- utilizza i moduli SIMM stan- tuate con il modello dotato di 4 dard, ma monta la RAM on Mb di RAM e senza FPU. I risul- board, per cui al momento tati dei test con Aibb e Sysinfo si dell'acquisto si dovrà decide- possono leggere nelle tabelle e re in via definitiva se optare nelle figure presenti in queste per il modello a 4 Mb o a 8 pagine. Mb. L'incremento di velocità rispetto al 1200 base è di circa tre volte La scheda nell'accesso alla memoria e quasi La scheda viene fornita in una quattro volte nell'esecuzione delle semplice scatola antistatica istruzioni sia in matematica intera che contiene un foglio di istruzioni (prati- l'eventuale coprocessore matematico che in floating point, ovviamente I'even- camente inutili) in tedesco, un disco con PLCC (68881 o 68882 a 25 MHz), il tuale aggiunta di un coprocessore mate- software PD e la scheda. quarzo, che assicura una velocità di 28 matico potrà aumentare notevolmente la Questa è ottimamente e completamente MHz al 68030 surface mounted comple- velocità di questi calcoli utilizzati soprat- realizzata in tecnologia a montaggio su- to di MMU, e i due chip di RAM a 60 ns tutto dai programmi di rendering 3D e di perficiale e si inserisce comodamente sempre saldati direttamente su scheda. matematica (fogli elettronici, studi di fun- all'interno del cassetto inferiore del 1200. Sul disco compaiono alcuni programmi PD zione, ecc.). Lievissimo, come al solito, Presenta tutti i componenti dal lato rivolto per i test di velocità (Sysinfo, Aibb e uno in l'incremento di velocità nelle operazioni verso l'esterno, fra cui l'orologio con bat- tedesco), per I'editing dei dischi (DPU), grafiche. 11 1200 con l'M-Tec 1230 appare teria tampone sostituibile, lo zoccolo per per il controllo della CPU (SetCPU). nel complesso più veloce di un 3000 con Il test con Sysinfo. La scheda secondo Aibb 65.

SCRW EQU 320<br />

ClearPixel:<br />

m0ve.w DO,D2<br />

and.w #7,D2<br />

1sr.w #3,DO<br />

mulu #SCRW/8, D1<br />

add.w D1,DO<br />

lea CP-Tab,Al<br />

m0ve.b (Al,D2.W),Dl<br />

and.b Dl,(AO,DO.W)<br />

rts<br />

CP-Tab: dc.b 127,191,223,239,247,251,253,254<br />

Ii ciipping<br />

Ora siamo in grado di prendere le coordinate dei punti<br />

3D, proiettarle sullo schermo e stamparle, dobbiamo ora<br />

cominciare a pensare al movimento delle stelle nella dire-<br />

zione dell'osservatore. Questo si ottiene facilmente au-<br />

mentando gradualmente la coordinata Z delle stelle. Come<br />

intuibile, mentre i pixel si "avvicinano" all'osservatore, la<br />

loro posizione diverge sempre di più dal centro dello<br />

schermo, fino a fuoriuscire dallo stesso. In questa situazio-<br />

ne entra in gioco il clipping, ossia la procedura che deve<br />

evitare (normalmente eliminandoli) che i pixel siano stam-<br />

pati in zone non visibili dello schermo, per evitare perico-<br />

lose operazioni di scrittura nella memoria non allocata dal-<br />

la nostra applicazione. Ogni volta che, in seguito a un au-<br />

mento eccessivo della coordinata Z, il pixel fuoriesce dallo<br />

schermo, sarà buona norma innanzitutto impedirne la<br />

stampa, almeno per quel quadro video e, contemporanea-<br />

mente, resettare la sua coordinata Z, in modo che dal foto-<br />

gramma successivo, il punto sia di nuovo all'interno<br />

dell'area visibile e pronto per un ulteriore "viaggio", dalle<br />

"profondità dello spazio", fino all'osservatore.<br />

Questo è molto semplice e si può ottenere con una proce-<br />

dura del genere:<br />

Fig. 3 - La rappresentazione tridimensionale deiiu<br />

posizione dell'osservatore rispetto al punto.<br />

;Limiti dello schermo<br />

SCRW EQU 320<br />

SCRH EQU 256<br />

Clipping :<br />

;Se Xs o Ys sono negative,<br />

;resetta Zp<br />

tst.w xs<br />

bmi ResetZ<br />

tst.w YS<br />

bmi ResetZ<br />

;Se Xs o Ys superano i limiti dello schermo,<br />

;resetta Zp<br />

cmp . W #SCRW, Xs<br />

bge ResetZ<br />

cmp .W #SCRH, Ys<br />

bge ResetZ<br />

rts<br />

ResetZ :<br />

;Resetta Zp<br />

m0ve.w #O,Zp<br />

rts<br />

A questo punto abbiamo in mano tutti gli elementi che ci<br />

permettono la realizzazione pratica del campo di stelle tri-<br />

dimensionale. Un buon accorgimento è fare in modo che<br />

esse siano perlomeno alcune decine, in modo da riempire<br />

lo schermo senza però appesantire eccessivamente la<br />

macchina (soprattutto se parliamo di A500/A600). Visto<br />

che le stelle normalmente avanzano tutte alla stessa velo-<br />

cità (ma questo non è obbligatorio), nel momento in cui<br />

si creano le loro coordinate di partenza, è bene distribuir-<br />

le uniformemente nello spazio (coordinata Zp), ma con-<br />

temporaneamente, bisognerebbe evitare di rendere trop-<br />

po ampia la banda di oscillazione delle possibili coordi-<br />

nate Xp e Yp di ciascun punto, in modo che essi prenda-<br />

no origine tutti nella zona centrale dello schermo. Niente<br />

può fare questo meglio di una buona routine di genera-<br />

zione di numeri casuali.<br />

In base ai nostri esperimenti, per la generazione di ogni<br />

singolo punto, conviene che le coordinate Xp e Yp (che<br />

restano sempre costanti per ciascuna stella) siano com-<br />

prese tra 8 e -8, mentre la coordinata Z tra O e 800. Nor-<br />

malmente, infatti, quando la Z supera la posizione 800, è<br />

già fuori dello schermo e, quindi, viene resettata a O dal<br />

clipping.<br />

Nel prossimo articolo vedremo come ruotare sull'asse Z,<br />

sia in senso orario, sia antiorario, l'intero campo stellare, e<br />

adotteremo una nuova routine di stampa dei pixel, che<br />

permetta l'uso di più colori. In questo modo potremo asso-<br />

ciare alla variazione della coordinata Z, anche una variazio-<br />

ne dell'intensità del colore dei punti, aumentando notevol-<br />

mente l'effetto tridimensionale. Non mancheremo poi di<br />

vedere in breve una semplice routine assembly che genera<br />

numeri casuali. A

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!