Il 31 agosto 1999 è la data di presentazione del Graphics Processing Unit (GPU) per l’industria dei PC. La definizione tecnica di una GPU è "un processore su singolo chip con integrated transform, lighting, triangle setup/clipping e rendering engines, capace di processare un minimo di 10 milioni di poligoni al secondo”. Il GeForce 256 GPU è più complesso di una odierna CPU e fornisce una potenza grafica senza precedenti per il tuo PC. Con transform & lighting, settaggio e rendering su di un unico chip, il GeForce 256 GPU fornisce prestazioni di 15 milioni di poligoni al secondo e 480 megapixel al secondo. E’ un unico motore a 256-bit abilitato al rendering con ordine di grandezza incrementata in una visuale complessa.
ansform and lighting sono due procedimenti matematicamente impegnativi. Prima della GPU di GeForce 256, la CPU eseguiva tutti questi calcoli – che impegnavano molto del suo processing power. Ora che la GPU esegue questi calcoli, si potranno notare prestazioni migliori delle applicazioni 3D e la CPU sarà liberà di eseguire funzioni di intensificazione visiva come caratteristiche fisiche e l’intelligenza artificiale.
Come funzionano Transform e Lighting?
Il processo di generazione di una scena 3D è relativamente semplice da illustrare. Iniziamo con il premettere che quello che viene rappresentato da monitor è uno scenario in 2D che è rappresentazione di una scena 3D; il monitor ha visualizzazione di tipo bidimensionale, pertanto è impossibile riprocdurre con esso una scena tridimensionale se non riconducendo quest'ultima ad una visualizzazione in 2D.
Detto questo, il primo procedimento alla base della generazione di una scena 3D su monitor è la conversione di tutti i dati in 3D in un ambiente 2D; tali conversioni sono ottebibili con calcoli matriciali relativamente semplici ma in numero elevatissimo: più oggetti compongono la scena 3D, più poligoni saranno presenti, maggiore sarà il numero di operazioni di conversione matriciale da effettuare per passare da una realtà 3D ad una 2D. Tale tipo di operazioni prende il nome di transformation.
Al termine dell'operazione di transformation avremo quale risultato un insieme di vertici, ciascuno dei quali è rappresentazione di uno specifico punto dello spazio 3D; ognuno di questi punti è dotato di informazioni in merito alla sua illuminazione, in quanto ipotizzando che vi sia illuminazione dinamica (dynamic lighting) la luminosità di ogni parte della scena tenderà a variare con il muoversi all'interno della scena 3D. Il processo di calcolo delle informazioni circa le differenti sorgenti di illuminazione di ognuno dei vertici che compongono la scena 3D prende il nome di lighting.
Terza fase del processo di generazione della scena 3D è il setup dei triangoli: i poligoni che compongono la scena 3D sono stati trasformati, grazie al processo di transformation, in triangoli per poter ottenere una visione bidimensionale della realtà 3D; ad ognuno di questi triangoli vengono applicati colori, textures e tutti gli effetti che conferiscono dettaglio alla scena (ad esempio, il bump mapping), così da ottenere da una struttura bidimensionale grezza (fatta cioè solo da vertici e dalle linee che li congiungono tra di loro) la scena finale definita.
Mentre le operazioni di Transformation e Lighting richiedono un gran numero di calcoli in virgola mobile, in genere molto dipendenti dalla potenza di calcolo del processore utilizzato, quella di setup dei triangoli è funzione della potenza di calcolo del chip video e poco influenzata dalla cpu.La particolarità del chip GeForce 256 di NVidia è quella di eseguire le operazioni di Transform & Lighting al proprio interno, non utilizzando il processore di sistema per questi compiti; questo permette di ottenere, sulla carta, prestazioni notevolmente superiori in quanto il chip GeForce 256 è specificamente pensato per questo tipo di operazioni. Il processore di sistema deve essere necessariamente "generico", in quanto deve scolgere operazioni e calcoli di tipo molto differente, pertanto per poter ottenere performances simili a quelle di una unità T&L ha bisogno di potenza (misurabile in modo nudo e crudo con la frequenza di clock) nettamente superiore. Basti pensare a quello che è possibile ottenere con chip sulla carta poco performanti ma molto specifici, come quelli integrati nella console Playstation, per cogliere la portata di quanto qui affermato. L'integrazione delle operazioni di Transform & Lighting all'interno del chip video permette di bypassare il processore di sistema, eliminandolo come collo di bottiglia agli fps e facendo si che sia solo la pura potenza di calcolo del chip video a rappresentare un limite superiore alle performances velocistiche della scheda video. Questo, ahinoi, vale solo sulla carta, in quanto all'atto pratico le cose stanno un po' diversamente:
Il processore continua a caricare ed elaborare l'application interface del gioco 3D, pertanto a calcolare tutto quello che succede all'interno della scena 3D (cioè prima della fase di transformation) quando ci si muove in essa. Pensiamo ad uno shooter 3D come Quake 3: il giocatore, muovendosi all'interno dei livelli, cambia la scena 3D che viene visualizzata, ottenendo poi una trasposizione in 2D che viene visualizzata da monitor; le trasformazioni della scena 3D sono calcolate sempre dal processore di sistema, non dal chip video.
le operazioni di Transform & Lighting rappresentano solo una parte delle operazioni che il processore di sistema deve compiere nel processo di generazione della scena 3D: togliere queste ultime non vuol dire rendere del tutto indipendente la generazione della scena dal processore di sistema utilizzato.
NVidia ha scelto di spingere il mercato dei videogiochi verso scene sempre più ricche di poligoni, così da aumentare la complessità delle scene e pertanto il dettaglio grafico; altri produttori, 3dfx in testa, ritengono che la strada per ottenere scene sempre più ricche sia quella di avere a disposizione il maggior fill rate possibile, mentre una geometria della scena complessa (quindi l'impiego di unità hardware per le elaborazioni Transform & Lightning) non porta a comparabili benefici in termini di superiore qualità dell'immagine ed fps attorno alla soglia dei 60 frames al secondo.
La GPU in tutto il suo splendore!
Caratteristiche tecniche:
NVIDIA GeForce 256, 256-bit GPU
Full implementation of NVIDIA QuadEngine
Transform Engine
Lighting Engine
Setup Engine
Rendering Engine
15 Million Polygons/sec, 480 Million Pixels/sec
350 MHz RAMDAC resolution up to 2048x1536
32-bit Z-buffer/stencil
Benchmark
Novità architetturali introdotte:
Cube Environment Mapping
L'environmental mapping è quella tecnica che permette di riprodurre le riflessioni generate da tutti gli oggetti posti all'interno della scena 3D; si pensi, ad esempio, ad uno specchio posto in una stanza, il quale riflette parte della stanza e di quanto è in essa contenuto.
L'approccio attuale alla tecnica dell'environmental mapping incontra dei grossi limiti con la sphere mapping, cioè lo studio dei riflessi generati da superfici sferiche; il limite vero è proprio sta nel fatto che i programmatori generano una mappa dell'ambiente riflesso (environment map) ma tale mappa non si può dinamicamente adattare quando il punto di vista dell'osservatore cambia. Nelle immagini sottostanti è chiaramente illustrato tale limite:
Sphere mapping: l'ambiente è correttamente riflesso nella sfera.
Spostando il punto di vista dell'osservatore si nota come quello che viene riflesso nella sfera non rappresenti più una riflessione corretta dell'ambiente esterno, ma una semplice trasposizione della riflessione originaria. Le nuove riflessioni non possono essere calcolate dinamicamente, tantomeno è realistico pensare che i programmatori implementino tutte le possibili riflessioni nell'oggetto dell'ambiente in base ai differenti punti di vista dell'osservatore.
Fonte: HwUpgrade.it