Magazine Tecnologia

30 gloriosi anni di 3D

Creato il 06 settembre 2011 da Amig4be @Amig4be
Chiudiamo questo intenso mese di Giugno, contrassegnato dalle ottime notizie provenienti da Casa Commodore, con una piccola retrospettiva dedicata al videogame 3D.
Qualche giorno fa mi è capitato di leggere la storia di un appassionato d'informatica che ripercorreva gli anni della sua originaria esperienza con le macchine Commodore. Egli nel trattare l'evoluzione della "specie" ricorreva non solo alla descrizione dell'hardware, del software e dei vari Giochi d'annata, ma in particolare riferendosi a una loro piccola categoria: il videogame in Grafica 3D.
Ormai da anni per videogame si intende genericamente qualcosa di simile a questo:
30 gloriosi anni di 3D
Beh a beneficio dei più giovani in ascolto nati in piena epoca Playstation, diciamo che il gioco in grafica 3D esiste da quasi 30 anni!
Ebbene si, il fascino di un ambiente 3D navigabile è stato forte fin dagli albori degli home computer dove una forte dose d'immaginazione permetteva ai ragazzini dell'epoca di vedere un castello in 5 parallelepipedi, e mondi fantastici in poche linee...
Questo  video illustra abbastanza bene ciò che intendo dire:

Quindi è possibile compiere un interessante viaggio partendo dal glorioso C=64 fino a giungere alle attuali tecnologie, soffermandoci maggiormente sull'iniziale evoluzione della grafica 3D in tempo reale.
Un'immagine come la seguente oggi risulta quasi incomprensibile:
30 gloriosi anni di 3DQuesta è infatti tratta da un primordiale gioco 3D facente uso della tecnica grafica chiamata wire frame. E anche in movimento la sua visione non migliora tantissimo in quanto la struttura di un elementare poliedro in wire frame, rappresentato su uno schermo bidimensionale (senza quindi una percezione di profondità), può essere vista in modo distorto o con un'orientazione falsata, e basta infatti osservare qualche secondo questa immagine per vederla "cambiare":
30 gloriosi anni di 3D La grafica in wire frame era la più semplice, immediata e leggera soluzione in assoluto, essa infatti comportava il solo calcolo della posizione su schermo dei vertici di un poliedro mediante un algoritmo di facile programmazione basato ad esempio sulle regole del disegno prospettico; algoritmo che definiva un oggetto 3D come l'insieme delle coordinate dei suoi vertici sapendo ad esempio che un cubo (8 vertici) avrebbe comportato il disegno di 12 linee spigoli...
Per ovviare a uno scarso senso di realismo venne successivamente introdotta la grafica poligonale solida, in cui le superfici degli oggetti 3D venivano "riempite" e rappresentate con dei quadrilateri bitmap in 2D, disegnati in modo da nascondere all'osservatore le facce dietro a quelle immediatamente visibili...
30 gloriosi anni di 3D
Il prezzo da pagare era però la notevole lentezza dell'intero processo di rendering, infatti con un processore di circa 1Mhz era possibile sperare in un frame rate tra 1 e 2 fps... una tragedia si potrebbe pensare oggi, ed invece essendo a quel tempo delle tecniche nuove e moderne lasciavano sbalorditi indipendentemente dalla loro lentezza, ed era possibile giocarci tranquillamente.
Per tanto il carico del lavoro in questo genere di elaborazione prospettica di un "mondo" tridimensionale gravava prevalentemente sull'unica componente del computer deputata ad effettuare i calcoli necessari, la CPU.
Con il passaggio ai 16 bit di Amiga e alla famiglia di Cpu Motorola 68000 con un clock di 7Mhz si iniziò a vedere una grafica 3D molto più efficace e dettagliata, grazie anche all'ottimizzazione delle varie tecniche fino ad allora studiate e all'unione della grafica poligonale con i classici Sprite e Bitmap gestiti dai coprocessori.


Quindi tra gli obbiettivi raggiunti grazie alle nuove tecnologie introdotte da Amiga, avevamo un frame rate più alto, un maggior dettaglio, e l'inizio di una fusione tra Grafica 3D e Bitmap che avrebbe da li a qualche anno segnato una svolta epocale. Infatti negli anni successivi il crescente interesse per questo tipo di giochi rispetto ai classici 2D, ancora dominanti, trovò il supporto di Cpu sempre più potenti... sino a veder nascere delle schede di espansione appositamente progettate per l'accelerazione grafica 3D, segnando così l'esordio di quel binario evolutivo che avrebbe condotto direttamente a quello che oggi ben conosciamo.
Per aumentare il dettaglio dei modelli e dell'ambiente 3D in grafica poligonale solida non si pensò solo ad incrementarne la complessità con un numero maggiore sia di vertici che delle relative superfici (poligoni), ma iniziarono a saltar fuori una serie di soluzioni ingegnose e molto diverse tra loro.
Un primo passo fu quello d'introdurre una fonte luminosa e definire il colore delle superfici degli oggetti in grafica poligonale solida anche in considerazione di questo nuovo parametro:

In seguito all'introduzione di semplici sistemi d'illuminazione si adottò anche un algoritmo più complesso e d'effetto per arrotondare gli spigoli dei modelli 3D conferendo ad essi un'ombreggiatura/sfumatura abbastanza realistica, chiamata Gouraud Shading:
30 gloriosi anni di 3D30 gloriosi anni di 3D
Una diversa evoluzione ma di più grande impatto fu infine il texture mapping, tecnica con la quale ai poligoni veniva cucita una texture 2D e quindi mostrata coerentemente in prospettiva dando l'illusione di un dettaglio molto superiore e fluidamente in moto.
30 gloriosi anni di 3DQueste nuove tecnologie grafiche 3D in real time ebbero un'impennata evolutiva grazie soprattutto ai Pc x86, alle loro CPU più potenti e al loro sistema grafico Vga che adottava una modalità Chunky diversa da quella Planar di Amiga (più dispendiosa per questo genere di lavoro...in rete esistono varie e dettagliate spiegazioni tecniche sull'argomento).
Quindi la mancata introduzione di un nuovo chipset, che era comunque in progettazione da C=  tagliò notevolmente le gambe ad Amiga... che tuttavia per alcuni anni, grazie all'ausilio di schede con processori 68k più potenti, ha comunque goduto di alcuni titoli 3D molto famosi tra gli ex amighisti come Alien Breed 3D e Breathless.
Ma niente di lontanamente paragonabile alla rivoluzione che ormai era in atto sia sui Pc che nelle Console da gioco casalinghe (Saturn, Psx, N64)
L'inizio di una deriva tecnologica dovuta alla mancanza di un casa madre comportò per Amiga l'immediata perdita del ruolo, economicamente cruciale, di piattaforma simbolo per il gaming, e quindi la migrazione di gran parte di utenza (e soprattutto sviluppatori) verso altri lidi. La successiva possibilità di poter montare anche su Amiga delle schede grafiche e nonché integrando nel sistema operativo AmigaOs 3.x opportuni driver e routine software per sfruttarne l'accelerazione 3D, non servì a colmare un Gap che al contrario aumentava costantemente sino a divenire rapidamente abissale.
L'emulazione è il metodo che più consiglio per esplorare oggi il 3D più avanzato programmato per Amiga, e in particolar modo l'emulatore gratuito per Windows WinUae che grazie a una compilazione Jit emula una Cpu 68k diverse decine di volte più veloce dell'esecuzione reale sulle cpu 68k più potenti come il 68060.
Dove le macchine C= si arrestarono iniziò quindi una rapidissima rincorsa tecnologica all'effetto grafico 3D più realistico e all'hardware più potente, fino all'introduzione del pixel shader e a un resa tendente al fotorealismo come quella dei videogiochi attuali.

Potrebbero interessarti anche :

Ritornare alla prima pagina di Logo Paperblog

Possono interessarti anche questi articoli :