# RIVA 128

La Riva 128 (nome in codice NV3), messa in commercio nel tardo 1997, fu la prima scheda grafica con GPU prodotta da NVIDIA a ottenere successo sul mercato. Nacque infatti da un deciso cambiamento tecnologico rispetto al predecessore NV1, poco fortunato.

## Il cambiamento di rotta

L'NV1 era una soluzione costosa ed "esotica": il mercato non aveva premiato la scelta coraggiosa di NVIDIA, e spinse la direzione dell'azienda a riconsiderare le proprie mosse.
Infatti il primo chip era basato su una tecnologia poco diffusa: le texture quadratiche, non comprese nelle specifiche Direct3D (diffuse da Microsoft con le DirectX 1.0 poco dopo l'uscita sul mercato della scheda). Tuttavia SEGA era inizialmente interessata a questa tecnologia, e ne commissionò lo sviluppo per la futura console Dreamcast (il mercato delle console è più amichevole a standard proprietari particolari, se vantaggiosi). Il progetto NV2 non ebbe però fortuna: l'azienda giapponese cambiò idea e si rivolse a tecnologie più tradizionali. Questa ulteriore beffa spinse i manager NVIDIA all'estremo opposto, e resero la propria azienda l'unica a non avere un'API proprietaria. Il successivo processore grafico sarebbe stato nativo Direct3D.
Inoltre la scheda non aveva più pretese di essere un acceleratore multimediale completo, ma fu configurata come una scheda grafica combinata 2D/3D. Le altre soluzioni sul mercato, come la Voodoo, erano acceleratori 3D, che dovevano essere affiancati a processori grafici 2D. Spesso il segnale VGA della scheda 2D doveva essere "bypassato" attraverso l'acceleratore 3D, che si attivava solo all'avvio dell'applicazione specifica. La nuova impostazione di NVIDIA, vicina a quella attuale, era più economica di quella allora in voga e lasciava all'utente la personalizzazione del comparto audio.

## Dotazione hardware e prestazioni

La nuova scheda grafica fu quindi caratterizzata da scelte più concrete.
Questo non comportò un basso profilo. Il processore grafico supportava infatti risoluzioni fino a 960x720, più alte del leader di allora, il 3dfx Voodoo, che raggiungeva al massimo 640x480. Erano integrati 4 MB di RAM su un bus a 128 bit (mentre molti concorrenti avevano un bus a 64 bit). La connessione al sistema era compatibile PCI, ma comprendeva un precoce supporto AGP 2x. Aveva una singola pixel pipeline, capace di elaborare 1 pixel per ciclo di clock. Non era supportato il multitexturing, il formato massimo dei colori era a 16 bit (Highcolour) e lo Z-buffer a 16 bit.
Il supporto 2D era ai vertici della categoria, anche tra le schede native, sia per velocità di elaborazione che per qualità d'immagine. In ambiente 3D le prestazioni erano buone, ma con qualità minore rispetto alle Voodoo, soprattutto a causa del discutibile texture filtering.
Mancando il supporto al trilinear filtering, questo era emulato generando automaticamente mip-map; ma questa soluzione al problema ne creava altri di compatibilità. Coi primi driver la scheda usava un mip-mapping riferito ai poligoni, invece che basato sui singoli pixel. Questo comportava un fastidioso fenomeno di "popping" delle texture di diverso dettaglio, quando all'interno del videogioco ci si avvicinava ad un oggetto. In seguito NVIDIA creò dei driver che permettevano il secondo procedimento, più dispendioso in termini di calcolo. Il bilinear filtering dell'NV3 restituiva immagini più nitide rispetto alla Voodoo: non le sfocava quanto questo, ma generava una sorta di "rumore" a causa di un algoritmo meno fedele. Ciò riscuoteva risposte alterne. C'erano anche problemi di confusione tra poligoni diversi.
I driver furono piuttosto rozzi per gran parte del ciclo vitale della scheda. Oltre ai succitati problemi in ambiente Direct3D, anche il supporto OpenGL era carente. Fu proprio con questo componente che l'azienda cominciò la propria ricerca del miglior supporto OpenGL, e il RIVA 128 ottenne in seguito discrete prestazioni. Un problema era il mancato supporto delle API Glide, proprietarie di 3dfx.
Come anche il rivale RagePRO, l'NV3 non poteva far girare l'Unreal Engine in modalità Direct3D, a causa di caratteristiche hardware mancanti. Era possibile utilizzare la modalità OpenGL, ma il supporto era lento e difettoso. Le prestazioni col Quake III Engine erano migliori, grazie alla migliore ottimizzazione del motore, più avanzato.

### RIVA 128ZX

All'inizio del 1998 NVIDIA presentò una revisione della scheda, cui fu dato il nome RIVA 128ZX. L'unica differenza nelle componenti era l'ampliamento della memoria RAM video, a 8 MB. Inoltre fu pronto il completo supporto OpenGL fin dal lancio. Il rivale Voodoo Banshee di 3dfx tardò nel lancio, avvenuto a settembre, e lasciò campo libero.
Questo modello non rappresentò una svolta epocale per l'azienda, ma fu l'inizio del rapporto con le fonderie taiwanesi TSMC, da allora il principale fornitore di NVIDIA.