Il Landclass di Flight
Simulator
Il landclass in Flight
Simulator è reso con texture da 256x256 punti e con una
risoluzione di 4.8 metri/pixel. Ogni texture di landclass (che
chiameremo qui tessera)
è grande sempre e comunque 256x256 punti. Viene usato
il mip mapping e in questo modo: le tessere più vicine
hanno risoluzione massima e la tessera misura circa 1 x 1 km
quadrati. Attorno a quest'area ad alta risoluzione, c'è
un anello a risoluzione più bassa: le tessere sono
sempre di 256x256 punti ma misurano a 2 x 2 km quadrati. Dopo
questo anello ce n'è un terzo con texture sempre a
256x256 punti, ma ciascuna tessera copre 4 x 4 km quadrati.
Segue l'anello ad 8 x 8 e, se si ha attivo il parametro
"extended texture", ce ne possono essere di ulteriori.
Quanto sono larghi questi anelli? In altre parole, quante
tessere hanno? La dimensione e' regolata dal parametro "mip
map quality" delle impostazioni grafiche. Questo parametro va
regolato a seconda della risoluzione dello schermo e
dall'altezza a cui si vola. Se infatti si usa una risoluzione
troppo alta a distanza eccessiva e con una risoluzione dello
schermo insufficiente, comparirà un fastidioso effetto
di rumore sulle texture. Questo scomparirà a
risoluzione superiore. Chiaramente volando a quota superiore
l'effetto darà una percezione diversa, per cui bisogna
trovare un'impostazione che soddisfi i propri gusti; ma non
bisogna dimenticare che più alto è quel
parametro e più il frame rate ne risentirà.
Personalmente, volando alla risoluzione di 1280x800 (ho uno
schermo 16:10), mi trovo bene con un parametro di 5, anche se
a bassa quota percepisco qualche fastidioso disturbo che
scomparirebbe settandolo a 4.
Nell'anello interno, quello da 1 x 1 km quadrati, vengono
usate le texture a risoluzione massima e viene attivata la
funzione di resolution enhancement proposta dal pixel shader.
Sul secondo anello di mip map le texture vengono applicate,
come detto, su una superficie di 2 x 2 km quadrati ma hanno la
stessa dimensione di 256 x 256 punti. Ogni tessera è
quindi formata dalla giustapposizione di quattro texture
diverse prese al mip map di 128 x 128 punti e creando
così una nuova tessera da 256 x 256. La risoluzione
è dimezzata ma le proporzioni sono mantenute.
Analogamente succede al terzo anello, quando per comporre la
tessera di 256 x 256 che copre un'area di 4 x 4, vengono usate
16 texture mipmappate a 64 x 64 punti. E così via.
Ogni tessera di landclass in FS2004 deve essere pesantemente
elaborata prima di essere applicata: le texture devono essere
caricate dal disco, quindi un particolare algoritmo deve
alterarle in base a quelle adiacenti in modo che non si noti
lo stacco tra un tassello e l'altro; su di esse devono essere
mappate le texture delle strade, ferrovie, linee di costa e di
qualunque altro oggetto vettoriale; quindi bisogna creare le
ombre degli oggetti 3D. Tutta questa elaborazione avviene
grazie al solo contributo della CPU. A questo punto la texture
è pronta e può essere caricata sulla scheda
video ed usata dalla pipeline 3D per mostrarla a schermo.
Fanno eccezione gli scenari fotorealistici che non richiedono
alcuna elaborazione di rilievo.
A mano a mano che l'aereo si muove, le texture dovranno essere
aggiornate: l'anello di mip map che si sta avvicinando
dovrà aumentare la propria risoluzione e si
dovrà procedere al rendering degli anelli più
esterni che compariranno in lontananza. A mano a mano che
l'aereo si sposta, quindi, il simulatore mantiene in una coda
FIFO (First In First
Out) l'elenco di texture da elaborare: la prima richiesta
sarà elaborata per prima, le altre si accodano; la
scheda video dal canto suo continua a riprodurre quelle che si
trovano nella sua memoria fintanto che le nuove texture non
sono pronte e vengono passate.