글라이드

1 개요

Glide. 3dfx사에서 독점적으로 사용하던 하드웨어 직접 접근 지향의 API이다.

3dfx의 그래픽 칩셋인 Voodoo 시리즈에서만 사용할 수 있었던 API로 오로지 게임을 위한 3D API이며, 이런 점에서 멀티미디어용게임용DirectX나 범용산업용OpenGL과는 구별된다. 부두 시리즈의 성공은 자체적인 성능의 우수함이 가장 큰 요인이었긴 하지만 글라이드가 3dfx의 독점 API였기 때문에 글라이드 지원 게임은 부두 시리즈에서만 지원 효과를 볼 수 있다는 점도 성공을 지속시킨 요인 중 하나였다.

1997년에서 1999년에 이르는 기간 동안 3D 게임 업계에서 글라이드의 위치는 절대적이었다. 부두 시리즈의 성능이 동시대의 경쟁 그래픽 가속기들에 비해 월등했고 부두에서만 사용 가능한 글라이드 API의 기능 역시 당시 아직 초창기에 지나지 않아 충분한 기능을 제공하지 못했던 DirectX(D3D)를 크게 능가했기 때문이었다. 산업용 공개표준이었던 OpenGL은 태생이 게임용 API가 아니었기 때문에 게임용으로 활용하기엔 불편했다.[1] 그에 따라 3D 게이밍 시장에서 부두 시리즈의 점유율은 압도적이었고 이에 따라 당시 많은 게임에서 글라이드를 지원했다. 지금 생각하면 격세지감이지만 DirectX 지원의 경우는 네이티브 지원을 하지 않고 글라이드의 에뮬레이팅으로 때워버리는 경우도 많았다. 특히 EA사의 게임이 그러했다. 심지어는 니드 포 스피드 2처럼 글라이드만 지원해서 부두 시리즈 이외의 그래픽카드에서는 3D 가속을 하지 않고 소프트웨어 렌더링으로 출력하는 게임도 있었을 정도로 부두 시리즈와 글라이드의 위상은 확고했다.

DirectX가 어느 정도 자리를 잡기 시작한 뒤에 등장한 NVIDIA 리바 TNT의 경우 DirectX나 OpenGL 성능은 부두 2와 대등 이상이었으나 이 시기에도 여전히 3D 게임 개발 환경은 글라이드가 장악하고 있었고 TNT는 (당연히) 글라이드를 지원하지 못했기 때문에 한 수 아래로 평가받았다. 부두3가 나올 무렵에는 DirectX 5.0이 어느 정도 쓸만한 수준까지 올라왔기 때문에 글라이드의 위상이 부두 2/부두 밴시 시절처럼 압도적이지는 않았으나 여전히 글라이드 지원 게임은 충분히 많았고, 글라이드 지원 게임의 경우에는 격차가 줄었다고 해도 여전히 DirectX에 비해 상대적으로 월등한 성능을 보여줬기 때문에 부두 3가 TNT2보다 높은 평가를 받는 경우도 많았다. 글라이드 지원 게임의 경우 특성상 DirectX로 구동시 화질이나 프레임 안정성은 절대로 글라이드를 따라갈 수 없다(DirectX 지원은 글라이드의 에뮬레이팅에 불과하므로). 예를 들면 고전 니드 포 스피드 시리즈의 경우 부두3를 사용하면 화질 프레임 모두 TNT2를 월등히 앞섰고(심지어 글라이드 모드에서는 실용적인 수준에서 고전적인 AA까지 적용 가능했고 포르쉐 언리쉬드인경우 대시보드에 방향지시등까지 표시된다.[2]), 가장 유명한 디아블로 2의 경우는 극단적으로 글라이드 최적화(와 DirectX 발적화)를 보여준다. F-16 멀티롤 파이터의 경우 글라이드 적용시 50.000피트 이상 상승시 마른 하늘에 별이 보이지만 글라이드 미적용 시 보이지 않았던 것처럼 많은 작품에서 글라이드냐 아니냐에 따른 차이가 꽤 큰 모습을 보였다.

글라이드의 특징으로는 렌더링에 22비트 컬러를 사용한다는 점이 있다. [3] 정확히는 글라이드 API 자체의 특징이라기보다는 부두 시리즈의 하드웨어적 특징이며 부두 전용인 글라이드도 같은 특징을 띄는 것인데, 부두의 프레임 버퍼는 16비트 컬러 깊이만을 사용할 수 있게 되어 있는 구조이고 약간의 편법을 통해 22비트 컬러를 사용할 수 있었던 것이라고 한다. 부두 22비트 컬러의 원리. [4] 실제로 게임에서는 22비트까지 쓰는 경우도 많지 않고 16비트만 사용하는 경우가 대부분이었으며 초창기에는 16비트 컬러 렌더링만으로도 충분했기 때문에 별다르게 문제가 되는 부분이 아니었으나 부두 3가 나올 무렵 즈음에는 경쟁사 제품들이 24, 32비트 렌더링을 착착 지원하면서 슬슬 문제점으로 거론되기 시작하였다. 이 시기에는 경쟁사 제품도 32비트 렌더링에서 충분한 속도가 나오려면 TNT2Ultra 같은 고급모델에서나 겨우 턱걸이로 가능했을 정도였기 때문에 부두의 22비트 컬러 버퍼가 실질적인 문제까지는 아니었으나 마케팅에서는 분명히 약점이 되었다. 결국 지포스 256이 등장한 이후 타사 제품들이 32비트 컬러 렌더링을 실용적인 수준에서 사용할 수 있게 되면서 부두 3는 시대에 뒤쳐진 하드웨어가 되었고 그에 따라 글라이드도 급격히 빛이 바래기 시작했으며, 다이렉트X 7.0에서 하드웨어 T&L(Transform & Lighting)을 지원할 정도로 발전하는 동안 글라이드는 기능이나 표현력 면에서는 이렇다 할 발전이 없었기 때문에 결국 다이렉트X에 역전당하고 2000년을 기점으로 글라이드는 급격히 사장되어 지금은 추억의 API로만 남아있다. 한때 NVIDIA가 3dfx를 인수하고 지포스FX를 발표하면서 혹시나 글라이드도 지원하게 되지 않을까 하는 설레발도 유저들 사이에서 잠시 있었지만 막상 까보니 그런 거 없었다. 사실 글라이드 지원이 다 죽어가던 그 시점에서 지포스 FX가 글라이드를 지원해준다고 해봐야 과거작을 돌릴 때 정도 외엔 크게 메리트도 없었을 것이 분명했기 때문에 어쩌면 NVIDIA 입장에선 당연한 선택이었을 것이다.

이후 오랜 세월이 지나 AMD에서 맨틀이라는 API를 발표했는데, 이게 추구하는 컨셉트가 글라이드랑 비슷한 데가 있다. 그리고 DirectX와 OpenGL이 이를 따라하는 것을 보면 새옹지마가 따로 없는 듯.[5] 그리고 결과적으로 맨틀도 사라졌다... 그래도 맨틀은 DirectX 12을 남기고 Vulkan으로 승화되었다.

2 글라이드 지원 게임

  • 핫 퍼슈트 2 이전의 니드 포 스피드 시리즈(2 SE, 3, 하이스테이크, 포르쉐 언리쉬드)
  • 디아블로 2 [6]
  • 언리얼 토너먼트
  • 퀘이크2 - MiniGL 지원이지만 부두에서 타사제품과 차별화된 화질을 보여준다.
  • 플레이스테이션1, N64의 에뮬레이터 중 부두 전성기에 등장한 일부 에뮬레이터 (Bleem 등)
  • F-16 멀티롤 파이터
  • 스타워즈:로그스쿼드론(1998)
  • 그밖에 1997~1999년에 출시된 대부분의 3D가속 지원 게임

3 현재의 글라이드 지원

현재는 3DFX도 문을 닫아버렸고 글라이드를 지원하는 비디오카드가 없기 때문에 네이티브로 글라이드 지원을 받기 위해서는 애드온 형태로 PCI 슬롯에 부두 1, 2를 다는 수밖에 없다. 실제로 이렇게 돌리는 사람도 있는 모양이지만[7] 세상이 좋아져서 요즘은 Glide Wrapper를 이용해서 소프트웨어적으로 구동하는 것도 가능하다. 원리는 글라이드 API를 받아서 범용 API인 OpenGL이나 DirectX로 변환해주는 일종의 호환 레이어 같은 것. 한마디로 요약하면 에뮬레이터다. 모든 게임에서 글라이드 지원을 보장하는 것은 아니지만 대체로는 잘 돌아가는 모양. 특히 니드 포 스피드 2 SE같은 글라이드 전용 게임의 구동에는 큰 도움이 되고 있다.

  • nGlide : 범용 글라이드 래퍼. 래퍼를 설치하고 글라이드를 지원하는 고전게임을 구동하면 3dfx 계열로 잘 인식된다. 다만 일부 게임은 패치나 업데이트를 해야 정상 작동되는 경우도 있다. 호환되는 게임 목록
  • Glide3-to-OpelGL-Wrapper : 디아블로 2에 최적화된 전용 래퍼.
  • DOSBox : SVN빌드에서 지원.64비트에서 구동이 안되는 게임은 DOSBox를 통해서 구동할수 있다. 단 고성능 Windows 9x용 게임을 구동하기 위해선 DOSBox에 Windows 98을 설치해야한다.

서랍 속의 부두2를 요즘 환경에서 어떻게든 써먹어보고자 한다면 이런 사이트를 참고해보는 것도 괜찮겠다. 부두시리즈의 커스텀드라이버나 트윅, 다양한 정보들이 올라온다.

4 함께보기

  1. 그 당시 많은 경우 게임에서의 OpenGL 지원은 OpenGL을 게임용에 맞게 축소판으로 개량된 MiniGL을 의미했다. 참고로 이 MiniGL을 만든 사람이 바로 13류 프로그래머 존 카맥 선생. 퀘이크의 OpenGL 가속 버전을 만들기 위해 만든 라이브러리였다고 한다.
  2. D3D그런거 없다.
  3. 약 4백만색. 222=4,194,304. 단, 24비트 컬러(트루컬러)를 아예 사용하지 못한다는 의미가 아니라 3D 화면을 렌더링하기 위한 프레임 버퍼의 컬러 깊이가 22비트라는 이야기다. 일반적인 2D 화면에서는 24비트 컬러를 문제없이 표시할 수 있다.
  4. 이러한 설계는 부두 3까지 지속되었다가 부두 4/5에 사용된 VSA-100에서는 하드웨어적으로 32비트 컬러 렌더링을 지원할 수 있게 되었다. 글라이드 API 차원에서 VSA-100의 32비트 컬러 렌더링 지원이 있었는지는 확인바람.
  5. 글라이드와 맨틀의 차이점이 있다면, 글라이드는 3dfx의 독점 API였지만 맨틀은 오픈 소스 API라는 것이다.
  6. 3DFX가 망한지 10년이 훌쩍 넘는 지금까지도 글라이드 에뮬레이터를 찾는 사람들을 양산하는 원흉(...). 아예 디아블로 2에 최적화시켜놓은 전용 글라이드 래퍼도 있다.
  7. 3DFX가 망하고 나서 나온 OS인 윈도 7 이후의 OS가 대세가 된 2010년대 이후에는 그나마도 어려워졌다.