En 1997, NVIDIA passe à la 3D à base de polygones avec le NV3, plus connu sous le nom de Riva 128. Riva signifie Real-time Interactive Video and Animation accelerator (accélérateur d’animation et de vidéo en temps réel). Deux versions de la puce existent : Riva 128 et Riva 128ZX. La différence est faible : un RAMDAC plus rapide sur la ZX, 8 Mo au lieu de 4 Mo de mémoire et le support de l’AGP 2x. La Riva 128 a eu un certain succès malgré une qualité parfois en retrait face aux 3Dfx de l’époque : le prix était intéressant. La carte de NVIDIA proposait la 2D et la 3D dans la même carte ainsi que le support de Direct3D. Notons que les pilotes OpenGL ne sont apparus qu’avec la Riva 128ZX, même si des versions spécifiques à Quake existaient (mais ce n’était pas un ICD complet).
| Date de sortie | Avril 1997 | Mars 1998 |
| Interface des cartes | PCI/AGP 1x | PCI/AGP 2x |
| Fillrate | 100 Mtexels/s | 100 Mtexels/s |
| Fillrate | 100 Mpixels/s | 100 Mpixels/s |
| Pipeline de rendu | 1 | 1 |
| Unité de texturing | 1 | 1 |
| Fréquence puce | 100 MHz | 100 MHz |
| Finesse de gravure | 0,35 µ | 0,35 µ |
| Nombre de transistors | 3,5 millions | 3,5 millions |
| Version DirectX | 5 | 5 |
| Type de mémoire | SDRAM | SDRAM |
| Mémoire maximale | 4 Mo | 8 Mo |
| Fréquence mémoire | 100 MHz | 100 MHz |
| Bus mémoire | 128 bits | 128 bits |
| Bande passante maximale | 1,6 Go/s | 1,6 Go/s |
| Sortie vidéo | 1x VGA | 1x VGA |
| RAMDAC | 206 MHz | 250 MHz |
La Riva 128 a été populaire auprès des OEM pour son prix : inférieur à celui d’une Voodoo Graphics pour des performances proches en Direct3D. Il s’agit d’une des premières cartes AGP, même si la Riva 128 l’utilisait essentiellement comme un PCI plus rapide. Enfin, et c’est assez amusant, un constructeur très connu concurrençait NVIDIA au niveau des performances avec une de ses cartes graphiques : Intel et son i740. Les temps ont bien changé.