Grafica FS2004
file:///C:/Documents%20and%20Settings/arrex/Documenti/arrexhomepage/newhome/arrexvfr/Template.html
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.