RIVA 128, 또는 "NV3"는 1997년에 Nvidia에서 출시한 소비자용 그래픽 처리 장치(GPU)이다. 이는 전통적인 2D와 비디오 가속에 더해 3D 가속도 통합한 Nvidia의 첫 번째 제품이었다. 이름은 "Real-time Interactive Video and Animation accelerator"의 약자이다.
RIVA 128은 Nvidia의 첫 번째 제품인 "NV1" 가속기가 시장에서 실패한 이후 나온 제품으로, Nvidia가 널리 인정받는 계기가 되었으며, 회사의 기술적 방향에도 큰 변화를 가져왔다.
1996년, Nvidia는 재정적으로 어려운 상황에 있었다. 회사는 처음에는 첫 번째 제품인 NV1을 위한 사각형 텍스처 맵핑(quadratic texture mapping)이라는 완전히 다른 렌더링 기술을 추구했으나, 그 기술은 Direct3D와 호환되지 않았다. 이후 회사는 Sega의 Dreamcast 비디오 게임 콘솔을 위한 그래픽 칩 개발에 1년을 소모했으나, Sega는 결국 Nvidia의 프로젝트를 중단하고 다른 공급업체로 전환했다. 그럼에도 불구하고 Sega는 Nvidia를 살리기 위해 500만 달러를 투자했다.
Nvidia는 직원의 절반을 해고하고 남은 자원을 RIVA 128 개발에 집중했다. RIVA 128이 1997년 8월에 출시되었을 때, Nvidia는 한 달치 급여만 남아 있는 상태였다. 이 극단적인 상황은 오늘날 "회사는 30일 뒤에 파산할 것"이라는 공식적인 사내 모토를 낳았다.
RIVA 128은 Direct3D 5와 OpenGL API 사양에 맞춰 렌더링할 수 있도록 설계되었다. Nvidia는 RIVA 128을 Direct3D 가속에 최적화되도록 설계했으며, 이는 Nvidia의 이전 제품인 NV1과는 다른 접근 방식이었다. NV1은 사각형 텍스처 맵핑을 지원했으나 Direct3D에서는 이를 지원하지 않았다.
RIVA 128 GPU는 350nm 공정으로 제조된 350만 개의 트랜지스터로 구성되어 있으며, 100 MHz로 클럭된다. 이 그래픽 가속기는 하나의 픽셀 파이프라인을 갖추고 있으며, 텍스처 샘플링 시 1픽셀을 클럭당 처리할 수 있다. 픽셀 처리 속도는 초당 1억 픽셀이며, 25픽셀 삼각형을 초당 150만 개 처리할 수 있다. 이 칩은 12 KiB의 온칩 메모리를 사용하여 픽셀 및 정점 캐시를 처리한다. 3D 가속 시 16비트(하이컬러) 픽셀 포맷과 16비트 Z-버퍼 제한이 있었다.
RIVA 128 내장된 2D 가속기는 128비트 폭으로 100 MHz에서 작동하며, GUI 가속 성능이 뛰어나 당시 경쟁자들보다 우수한 성능을 보였다. 또한 32비트 하드웨어 VESA 준수 SVGA/VGA 코어가 구현되어 있었다. 비디오 가속은 MPEG-2에 최적화되어 있으나 해당 표준의 완전한 가속은 지원하지 않았다. 최종 출력은 내장된 206 MHz RAMDAC를 통해 출력된다. RIVA 128은 2D/3D 그래픽 칩의 조합으로, 3D 애플리케이션 외에도 2D 출력에 별도의 카드가 필요 없었고, 3D 렌더링을 창 안에서도 할 수 있었다. 단 하나의 그래픽 카드로 시스템을 구성할 수 있다는 점은 RIVA 128을 저렴하면서도 고성능 솔루션으로 만들었다.
Nvidia는 RIVA 128에 4 MiB의 SGRAM을 탑재했으며, 이 메모리는 100 MHz에서 작동하고 128비트 메모리 버스를 통해 그래픽 프로세서와 연결된다. 메모리 대역폭은 초당 1.60기가바이트이다. 이 메모리는 통합 메모리 아키텍처를 사용하여 프레임버퍼와 텍스처 저장소를 공유했다. 이는 Voodoo Graphics와 Voodoo²에서의 분리된 디자인과 달리 800×600, 960×720 해상도에서 3D 렌더링을 지원할 수 있다는 장점이 있었다.
1998년 초, Nvidia는 RIVA 128의 리프레시 버전인 RIVA 128 ZX를 출시했다. 이 버전은 메모리 용량을 8 MiB로 늘리고 RAMDAC 주파수를 250 MHz로 증가시켜 더 높은 해상도와 주사율을 지원했다. ZX 버전은 SGS-Thomson과 TSMC에서 제조되었으며, 삼성 전자에서 125 MHz로 클럭된 8 MB SGRAM 메모리 칩을 사용했다.
RIVA 128은 AGP 1X 버스 인터페이스를 지원했으며, ZX 버전은 AGP 2X를 지원하여 인터페이스 기술의 최전선에 자리잡았다. 그래픽 프로세서는 Intel의 AGP 사양을 기반으로 설계되었고, Intel 440LX 칩셋과 Pentium II와 호환되었다. Nvidia는 RIVA 128을 4 MiB의 메모리 용량으로 설계했는데, 이는 당시 소비자용 3D 가속기에서 비용 효율적인 접근 방식이었다. 이 디자인은 PCI 또는 AGP 구성에서도 시스템 RAM에 텍스처를 저장할 수 있다는 장점도 있었다.
Nvidia의 다음 주요 제품은 RIVA TNT였다.
RIVA 128이 출시되었을 당시, 3Dfx Voodoo Graphics는 모든 새로운 그래픽 카드와 비교되는 3D 하드웨어 벤치마크로 자리잡고 있었다. Voodoo는 뛰어난 성능과 품질을 제공하는 첫 번째 3D 게임 가속기였다. RIVA 128은 Voodoo와 비교하여 낮은 품질의 렌더링과 렌더링 오류로 비판을 받았다.
초기 드라이버에서는 RIVA 128이 고품질이지만 더 많은 자원을 요구하는 픽셀 단위 미프매핑(per-pixel mipmapping) 대신 폴리곤 단위 미프매핑(per-polygon mipmapping)을 사용했다. 이로 인해 플레이어가 게임 내에서 이동하고 각 폴리곤에 가까워질 때마다 텍스처 세부 사항이 "튀어 나오듯" 변하는 현상이 발생했다. 이는 텍스처가 매끄럽게 점진적으로 변하는 것이 아니라 갑작스럽게 바뀌는 효과를 만들어냈다. Nvidia는 나중에 픽셀 단위 모드를 지원하는 드라이버를 출시하였다. 또한 RIVA 128의 텍스처링 문제 중 하나는 자동 미프맵 생성 방식을 사용한다는 점이었다. 이 방식은 미프맵이 없는 게임에서는 시각적 품질과 성능을 개선할 수 있었지만, 게임이 의도하지 않은 방식으로 렌더링을 강제했기 때문에 예상치 못한 문제를 일으켰다.
NV3의 바이리니어 필터링은 실제로 3Dfx Voodoo Graphics보다 "더 선명"했다. 그러나 Voodoo가 텍스처를 흐리게 처리하는 것과 달리, RIVA 128은 대신 낮은 해상도의 필터링 알고리즘으로 인해 텍스처에 약간의 노이즈를 추가했다. 또, 폴리곤 간에 눈에 띄는 이음새가 문제로 지적되기도 했다.
초기 드라이버는 이러한 이미지 품질 문제를 보였으나, 후속 드라이버들은 Voodoo Graphics와 비견될 만큼 우수한 이미지 품질을 제공했다. 또한 RIVA 128은 640×480 해상도 이상의 해상도에서 렌더링할 수 있었기 때문에, Quake II 스크린샷에서 보여지듯 Voodoo Graphics보다 더 높은 품질을 제공할 수 있었다. RIVA 128의 최종 드라이버는 픽셀 단위 미프매핑, 전체 장면 안티앨리어싱(슈퍼샘플링), 품질과 성능을 최적화할 수 있는 여러 가지 기능을 지원했다.
드라이버는 카드의 생애 중 상당 기간 동안 다소 미완성된 상태였다. 앞서 언급한 Direct3D 관련 문제뿐만 아니라, OpenGL 지원이 부족했다. RIVA 128을 통해 Nvidia는 뛰어난 OpenGL 지원을 목표로 하여 결국 훌륭한 OpenGL 성능을 보이게 되었다. 그러나 Nvidia의 주요 단점은 많은 게임들이 당시 3Dfx의 독점적인 Glide API를 사용했다는 점이었다. 법적으로 Glide API는 3Dfx 카드에서만 사용할 수 있었다.
경쟁자였던 ATI Rage Pro와 마찬가지로, RIVA 128은 Unreal Engine을 Direct3D 모드에서 가속할 수 없었다. 하드웨어 기능의 부족으로 인해 불가능했지만, OpenGL 렌더러를 사용하면 가능하였으나, 원래 Unreal Engine에서 OpenGL 지원이 느리고 불안정했다. Quake III Arena에서는 Unreal Engine 1보다 더 진보된 엔진을 사용한 덕분에 성능이 더 나았으며, 이 엔진은 OpenGL을 위해 설계되었기 때문이다.
Nvidia의 RIVA 128 최종 드라이버는 Windows 9x에서 완전한 OpenGL 드라이버를 포함하고 있었다. 그러나 이 드라이버를 사용하려면 Windows에서 데스크탑 색 깊이를 16비트로 설정해야 했다.
RIVA 128용 드라이버는 Windows 2000과 XP에도 포함되어 있지만, 3D 지원은 없었다. 한때 Nvidia에서 OpenGL 지원을 위한 베타 드라이버가 유출되었으나, 이후 취소되었고, 현재 Nvidia의 드라이버 사이트에서는 Windows 2000용 드라이버를 찾을 수 없다. 베타 드라이버나 Windows 2000/XP에서 제공되는 드라이버는 Direct3D를 지원하지 않았다.
당시 RIVA 128은 Voodoo Graphics와 경쟁할 수 있는 첫 번째 2D/3D 결합 카드 중 하나였다. RIVA 128의 2D 성능은 그 당시 뛰어난 성능을 보였으며, 품질과 성능 면에서 고급 2D 전용 그래픽 카드와 경쟁할 수 있었다.
'Computer > GPU' 카테고리의 다른 글
RIVA TNT 2 [Nvidia | 1999] (0) | 2024.11.23 |
---|---|
RIVA TNT [Nvidia | 1998] (0) | 2024.11.22 |
NV1 [Nvidia | 1995] (0) | 2024.11.20 |
엔비디아 [NVIDIA | April 5, 1993 ~ ] (0) | 2024.11.19 |
부두 5 / Voodoo 5 [3dfx | 2000] (0) | 2024.11.18 |