Oceani, laghi, fiumi, pozzanghere, paludi. Acque con più o meno gradi di purezza. Moti caotici, onde rifrattive, schizzi d’acqua ed animazioni complesse. Per i 3d game programmers la buona reallizzazione di fluidi è un importantissimo passaggio per la riuscita di un motore grafico. La complessità nella rappresentazione di bacini acquosi nasce con l’avvento della 3d graphic: i liquidi sono per definizione mobili e tendono ad occupare tutto lo spazio intorno a loro; oltre ad un problema grafico esiste quindi un problema dinamico, assente nella rappresentazione di terreni. Con questo breve articolo vediamo come gli sviluppatori hanno affrontato e cercato di risolvere questa affascinante sfida coadiuvati dall’evoluzione tecnologica.
Il primo esempio che riporto è Tomb Raider. Nel lontano 1996 l’acqua non era altro che una texture animata “incollata” a mesh piane. Niente di più semplice. La trasparenza era data dall’alpha blending delle texture e l’effetto finale era quello di macchioline bianche che si muovevano più o meno velocemente.


Nel 1997 un grande evento scosse il mondo videoludico: 3dfx produsse la prima scheda grafica 3d capace di apportare un’accelerazione treddì. E’ l’anno di Quake2 che, per il suo motore grafico, supportava le librerie OpenGL e Glide (le famose librerie proprietarie di 3dfx). Al contempo, però, per quanto concerne i fluidi passi avanti non furono registrati: la lava era sempre una texture animata su di un piano immobile.

Nel 2001 si iniziava a vedere qualcosa di nuovo con Splashdown, un giochino di moto d’acqua per Playstation2. Come potete vedere dallo screenshot l’acqua possedeva una certa dinamicità: la scia della nostra moto generava delle onde rappresentate da una reale modificazione della mesh.

Nel 2002 arrivava negli scaffali Neverwinter Nights supportato dall’Aurora engine. Questo motore grafico era uno dei primi a far uso dei pixel/vertex shader e verrà impiegato anche in Star Wars: Knight of the Old Republic ed il suo sequel. Grazie a effetti “per-pixel” i programmatori poterono far uso di tecniche quali bump mapping, specular highlights, alpha blending ed altri simpatici effetti.


Parlando di acqua, come si fa a non citare Far Cry? Impossibile. Nel tempo il motore grafico CryEngine, inizialmente compatibile con le directx8, subì vari upgrade e nelle sue ultime incarnazioni faceva uso della tecnologia HDRI – grazie al supporto delle directx9 e quindi dei pixel shader 2.0. Nello screenshot è possibile notare l’utilizzo dell’effetto Fresnel: l’acqua più vicina ci appare trasparente mentre quella lontana riflette l’ambiente circostante. Nello stesso periodo usciva Half-Life 2 che, con il suo source engine, ci regalava una splendida realizzazione di pozzanghere, fiumi e mari. Anche nel source engine l’acqua possiede il sopracitato fresnel effect.



La Lionhead diede alla luce nel 2005 Black and White 2. In questo progetto collaborava Fek, un nostro conpatriota che si occupava tra le altre cose dell’acqua. Notevole l’effetto, sia da una inquadratura ravvicinanta che da molto lontano.

Nel 2006 la critica venne positivamente scossa dagli splendidi paesaggi di Oblivion. Le immense colline riflesse nei suggestivi corsi d’acqua ed un oculato uso dell’HDRI creano quella calda atmosfera che chiunque abbia giocato ad Elder Scroll IV conosce. Il motore grafico sotto il cofano era il Gamebryo, un 3d engine cross platform utilizzato in molti AAA games.


Ci avviciniamo ai giorni nostri con un 2007 che ci ha regalato l’Unreal Engine 3, un motore grafico molto versatile e di grande impatto visivo. Vengono sviluppati con questo engine importanti titoli come Unreal Tournament III, Bioshock, Gears of Wars e molti altri, contemplando interessantissimi effetti particellari.

Ed arriviamo infine all’attuale stato dell’arte con, neanche a dirlo, Crysis es il suo Crytek engine. Gli screenshot che trovate qui sotto sono tutti ad impostazioni Very High e quindi in DirectX 10 + Pixel Shader 4. E’ proprio il caso di dirlo, dal primo Tomb Raider ad oggi di acqua sotto i ponti ne è passata un bel po’ (argh)!


Cosa ci riserva il futuro? Ciò che a noi oggi sembra “fotorealismo” tra qualche anno sarà già superato. Chiudiamo questo approfondimento con alcuni screenshot “mozzafiato” di Alan Wake, prossimo titolo full directx10 sviluppato da Remedy.
