Flash 10 Astro: 3D nativo vs Papervision3D
Sabato 3 Maggio, 2008Adobe ha annunciato da tempo alcune nuove features (Hydra per i filtri grafici evoluti e una migliore gestione del testo) che saranno presenti nella prossima release di Flash. In particolare ha destato interesse l’introduzione del 3D (l’asse Z), la capacità quindi di Flash di manipolare oggetti in un mondo tridimensionale. La stessa Adobe precisa che si tratta in realtà di un 2.5D , come spesso viene indicato, una specie di “simulazione” di un vero e proprio mondo tridimensionale. Infatti si può ruotare un simbolo Flash introno all’asse z ma, nonostante questo, il simbolo rimane piatto nello spazio tridimensionale! Un po’ quello che accade quando si distorce una bitmap in Photoshop! Tutto questo, quindi, non ha niente a che fare con progetti come Papervision3D , Away3D , Sandy e molti altri, che contengono tutta una serie di features (camera, scene, texture, etc…) assenti “nell’Astro nascente”. In sostanza Adobe non vuole assolutamente sovrapporsi a progetti 3D di terze parti ma solo fornire uno strato nativo per migliorare le prestazioni di librerie 3D già esistenti.
Comunque sia la cosa importante è che Adobe sembrerebbe orientata ad introdurre queste funzionalità tridimensionale ad un alto livello , non aiutando affatto librerie complete e complesse come Paparevision3D. Da tempo, infatti, si usano sostanzialmente due tecniche per espandere le funzionalità di Flash: API di basso livello e API di alto livello .
Le API di basso livello vengono normalmente scritte in C/C++ e fanno parte del core di Flash, compilate quindi all’interno del Player. Questo metodo se da un lato garantisce una maggiore velocità di esecuzione, dall’altro aumenta le dimesioni del Player Flash.
Le API di alto livello sono invece scritte in Actionscript e non appartengono al core nativo. In altre parole sono del tutto simili a librerie che potremmo scrivere noi, con la differenza che vengono fornite direttamente da Adobe. Come accade con il rilascio di Flash 5, la prima introduzione dell’oggetto XML fu realizzata completamente in Actionscript, creando non pochi problemi di performance!
Il vantaggio è che librerie di questo tipo vengono compilate solo quando necessarie e scaricate quindi all’interno del file SWF. Come accade oggi con l’oggetto Tween (vedi fl.motion.* o fl.transition.*) interamente scritto in Actionscript (anche per questo sono nati progetti paralleli come Tweener (caurina.transitions.Tweener) o TweenerMax .
Proprio per questo motivo la comunità Papervision non è del tutto contenta della scelta di utilizzare API di alto livello, in pratica dello stesso “livello” di Papervision3D. Questo, infatti, potrebbe non influire sulle future performance di librerie 3D.
Comunque andrà a finire, la cosa importante è che Papervision3D non è morto, anzi!






















