aggiungo una precisazione a quanto detto prima.
Questa demo non utilizza la classica grafica 3D "poligonale" generata tramite triangoli texturizzati, ma tramite shape bidimensionali texturizzate usando funzioni di compositing che limitano la libertà di movimento al solo spazio bidimensionale X-Y.
Calcolando la proiezione dell'asse Z via software (seni, coseni e tutte quelle cose zozze lì), si può creare una scena in prospettiva che quindi appare come un normale 3D all'occhio, ma viene generato tramite un trucchetto. Un po' come Wolf3D che sembrava 3D poligonale e invece era RayCasting, cioè una sorta di effetto 3D generato tramite striscioline verticali in 2D la cui scala è calcolata in software per simulare la prospettiva.
Quindi l'aspetto finale della scena è in 3D, ma tecnicamente la proiezione è realizzata senza sfruttare la geometria tridimensionale X-Y-Z di cui sarebbe capace la GPU.
Questo ovviamente comporta tante di quelle limitazioni (che non sto qui a spiegarvi) che l'unica applicazione sarebbe, appunto, un cubo texturizzato con una specie di palla la cui ombra è totalmente fake (banalmente uno sprite grigio scuro, anch'esso disegnato tramite "spalmatura" su un trapezio).
A scopo puramente dimostrativo, vi propongo un esempio moderno di pesudo-3D creato utilizzando una tecnica quasi identica. Anche in questo caso si sfrutta la capacità di compositing 2D per generare un effetto 3D sfruttando solamente le funzioni di rotazione, skew e scala offerti dall'hardware 2D. L'unica differenza con la demo dell'X1000 è che qui non c'è la deformazione a trapezio delle texture, che quindi viene ulteriormente simulata in software, appesantendo un pochino il codice:
PS: Cercate di essere seri, e non ridete appena guardate il video...
Per cortesia, è un argomento serissimo e di elevato contenuto matematico...
[youtube:5jnc3a56]http://www.youtube.com/watch?v=HVi8AiwKn3k[/youtube:5jnc3a56]