[3] Free Pascal per NDS: i tipi di background e le modalità grafiche

Per mostrare la grafica sullo schermo, il Nintendo DS utilizza una struttura a strati, chiamati anche layer o background. Il programmatore ha a disposizione un determinato numero di background che possono essere mostrati contemporaneamente su ciascuno dei due schermi, a seconda della modalità grafica impostata. Esistono 5 tipologie differenti di background:

Una cosa importante da sapere è che ognuno dei due motori grafici può mostrare contemporaneamente a schermo un numero massimo di 4 background. Inoltre il motore principale può muovere delle scene 3D, ma solamente sul background 0.

In aggiunta ai layer per i background esiste un ulteriore layer che viene utilizzato per gli sprites, cioè tutte quelle parti grafiche in movimento che sono tipiche dei giochi 2D: si pensi alle navicelle spaziali di Space Invaders oppure ai fantasmini di Pacman. Parleremo più approfonditamente della gestione di questo layer più avanti.


Le modalità grafiche

Come già accennato, lo schermo del Nintendo DS mette a disposizione diverse modalità grafiche di funzionamento, ognuna delle quali dotata di una differente combinazione di background.


Mode 0
4 background text
Mode 1 3 background text + 1 background rotation
Mode 2 2 background text + 2 background rotation
Mode 3
3 background text + 1 background extended rotation
Mode 4 2 background text + 1 background rotation + 1 background extended rotation
Mode 5 2 background text + 2 background extended rotation
Mode 6 1 background text + 1 background extended rotation di 1024x512 (o 512x1024),
disponibile solo per il motore principale

Nella tabella seguente sono schematizzate tutte le modalità grafiche, con le tipologia di background disponibili e il motore (main o sub) con il quale si possono utilizzare.


MODE DEFINES MAIN SUB BG0 BG1 BG2 BG3
0
MODE_0_2D/MODE_0_3D
Text / 3D Text Text Text
1 MODE_1_2D/MODE_1_3D Text / 3D Text Text Rotation
2 MODE_2_2D/MODE_2_3D Text / 3D Text Rotation Rotation
3 MODE_3_2D/MODE_3_3D Text / 3D Text Text Extended
4 MODE_4_2D/MODE_4_3D Text / 3D Text Rotation Extended
5 MODE_5_2D/MODE_5_3D Text / 3D Text Extended Extended
6 MODE_6_2D/MODE_6_3D no Text / 3D Extended (1024x512 o 512x1024)
FRAMEBUFFER:

MODE_FB0 no accesso diretto al video dalla memoria principale

MODE_FB1 no accesso diretto al video da VRAM_A in modalità LCD

MODE_FB2 no accesso diretto al video da VRAM_B in modalità LCD

MODE_FB3 no accesso diretto al video da VRAM_C in modalità LCD


Come si è già accennato, la modalità 3D è disponibile nativamente solo sul motore principale e solo sul background 0; inoltre è possibile attivare il 3D in ogni modalità video, eccezion fatta per la modalità framebuffer. Utilizzando degli artifici è possibile visualizzare delle scene tridimensionali su entrambi gli schermi, ma al costo di un dimezzamento del frame rate.


Per commenti e chiarimenti: http://www.lazaruspascal.it/index.php?topic=78.0



SMF 2.0.8 | SMF © 2011, Simple Machines
Privacy Policy
SMFAds for Free Forums
TinyPortal © 2005-2012

Go back to article