본문으로 건너뛰기
Doom 1.jpg

Doom 1에 적용된 DLSS 5: 1993년 스프라이트 슈팅 게임의 뉴럴 렌더링 구현

Doom 3 BFG Edition과 RBDOOM-3-BFG DX12를 활용해 Doom 1에서 DLSS 5를 구동합니다. 가상 모션 벡터, RenoDX 및 NVIDIA 뉴럴 렌더링 라이브러리를 사용한 기술적 분석입니다.

작성자
Friolt
업데이트됨
읽는 시간
7분
주제
뉴스
왜 Doom이 먼저 DX12 게임이 되어야 하는가
광고

Doom 1에 DLSS 5를 적용하려면 Doom 3 BFG Edition과 RBDOOM-3-BFG 소스 포트를 통해 DirectX 12 환경으로 강제한 뒤, 외부 모션 벡터를 주입하고 RenoDX가 포함된 ReShade를 설치하여 공식 NVIDIA 뉴럴 렌더링 라이브러리를 적용해야 합니다. Core Ultra 9 275HX를 탑재한 RTX 5090 모바일 환경에서 얻을 수 있는 결과는 고작 10 fps 정도이며, 임프(Imp)들은 프레임마다 얼굴이 계속 바뀌는 기괴한 모습을 보여줍니다.

Doom에서 DLSS 5를 구동하는 방법에 대한 솔직한 답변은, AI 모델이 이 게임을 최신 게임이라고 착각할 때까지 세 겹의 소프트웨어를 속이는 것입니다. DOS 기반의 Doom은 DirectX를 전혀 지원하지 않기 때문에, 포트(port)를 통해 DX 환경을 강제로 입히기 전까지는 그 어떤 훅(hook)도 작동하지 않습니다.

왜 Doom이 먼저 DX12 게임이 되어야 하는가

뉴럴 패스는 DirectX 11 및 12용 ReShade 훅을 기반으로 작동하는 RenoDX를 통해 연결됩니다. 보통 DOS 게임들은 dgVoodoo와 DOSBox를 거쳐 DX11로 우회하지만, Doom은 id Software가 2012년 재출시 버전에 이미 원본을 포함해 두었기 때문에 네이티브 Doom 1 DX12 렌더러라는 호사를 누릴 수 있습니다.

Doom 3 BFG Edition 클래식 Doom 번들에는 Doom 3와 함께 The Ultimate Doom 및 Doom II가 포함되어 있습니다. 1.5.0 버전부터는 NVIDIA NVRHI를 통해 OpenGL 대신 DX12와 Vulkan을 지원하게 되었고, 덕분에 RBDOOM-3-BFG DX12 백엔드가 클래식 게임까지 렌더링할 수 있게 되었습니다. 별도의 래퍼나 DOSBox, dgVoodoo 워터마크도 필요 없습니다.

준비물

구성 요소역할출처
Doom 3 BFG EditionDoom 1 데이터 및 BFG 기본 폴더 제공Steam 또는 GOG
RBDOOM-3-BFG 1.5.0 이상OpenGL 렌더러를 DX12로 교체ModDB 또는 GitHub
모션 벡터 브릿지Doom에 없던 시간차 데이터 생성Worst Guides Ever 파일 팩
애드온 지원 ReShade기타 모든 요소 주입reshade.me
RenoDX 뉴럴 렌더링 애드온DLSS 5 패널 및 슬라이더 추가RenoDX 프로젝트
NVIDIA 뉴럴 렌더링 라이브러리AI 모델 본체공식 NVIDIA 배포판
RTX 50 시리즈 GPU프레임 확보를 위한 비용 지불사용자의 지갑

단계별 가이드

  1. Doom 3 BFG Edition을 설치하고 한 번 실행하여 기본 폴더를 생성합니다.
  2. 최신 RBDOOM-3-BFG 릴리스를 BFG Edition 폴더에 압축 해제하고, 기존 실행 파일 대신 RBDoom3BFG.exe를 실행합니다.
  3. 포트가 Vulkan을 기본값으로 잡았다면, 실행 옵션에 +set r_graphicsAPI dx12를 추가합니다.
  4. 메인 메뉴에서 The Ultimate Doom을 선택하고, 1993년 게임이 DirectX 12로 돌아가는 상황을 받아들입니다.
  5. 모션 벡터 브릿지를 RBDoom3BFG.exe가 있는 폴더에 복사합니다.
  6. RBDoom3BFG.exe에 ReShade 설치 프로그램을 실행하고, DirectX 12 선택 후 애드온 지원을 체크합니다.
  7. RenoDX 애드온과 뉴럴 렌더링 라이브러리를 같은 폴더에 넣습니다.
  8. 게임을 실행하고 Home 키를 눌러 Add-ons 탭에서 DLSS 5 Neural Rendering 패널을 활성화합니다.

이 포트에서 생략 가능한 DOSBox 및 dgVoodoo 경로를 포함한 다른 모든 DirectX 버전 설정법은 전체 DLSS 5 설정 가이드에서 확인할 수 있습니다.

Doom에 없던 모션 벡터

클래식 Doom은 320×200 소프트웨어 프레임버퍼를 그려 화면에 늘리는 방식입니다. 픽셀 단위의 모션 데이터가 전혀 없기 때문에, DLSS 5 모션 벡터는 프레임 간 픽셀 이동을 추측하는 브릿지 파일에 전적으로 의존합니다. 추측 기반이기에 빠르게 화면을 돌릴 때 고스팅(잔상) 현상이 발생하는데, Doom은 게임 내내 빠르게 화면을 돌려야 하는 게임입니다.

라이브러리와 애드온

AI 모델은 nvngx_dlssnr.dll 파일에 담겨 있습니다. NVIDIA는 9월 3일 NBA 2K27과 함께 DLSS 5를 공식 출시했으며, 해당 파일은 이제 Game Ready 드라이버 패키지에 포함되어 제공됩니다. 출처가 불분명한 아카이브 파일 대신 공식 드라이버에서 추출해 사용하세요.

RenoDX DLSS 5 패널은 Doom이 더 이상 Doom처럼 보이지 않게 만드는 핵심 설정창입니다. 중요한 컨트롤은 다음과 같습니다.

컨트롤Doom에 미치는 영향
Injection pointOutput 설정이 가장 데미지가 적음; 렌더 단계에서는 스프라이트를 과하게 다시 그림
Passes x1스프라이트 정보가 부족해 거의 변화 없음
Passes x2 to x4모든 것을 다시 그리고 단일 프레임을 샘플링하여 환각(오류)이 증폭됨
PresetDefault는 녹색, Natural은 청색, Cinematic은 강도가 높을 때 보라색으로 색감이 변함
NR Intensity토글 대신 비교용으로 사용 권장
F6효과 토글, 누를 때마다 약 1GB의 VRAM 누수 발생

실제 결과

테스트 결과 Doom 2는 x1 설정에서 원본과 차이가 없었지만, x2에서 x4로 갈수록 완전히 다른 게임이 되었습니다. Doom 1도 같은 엔진을 공유하므로 동일하게 작동합니다. 스프라이트는 평면적인 빌보드 형태인데 AI 모델은 입체적인 지오메트리를 기대하기 때문에, 디테일이 부족한 부분은 멋대로 얼굴을 만들어 버립니다.

DLSS 5를 구형 게임에 적용하는 것에 대한 결론은 여전히 부정적입니다. DX11 타이틀은 모든 벡터를 정확히 연결해도 화면이 깨지기 일쑤이며, Doom이 그나마 버티는 이유는 RBDOOM이 실제 DX12 경로를 제공하기 때문입니다. 그럼에도 DLSS 파이프라인이 정상적으로 요구하는 프레임 히스토리는 여전히 부족합니다.

성능

모드RTX 5090 Mobile + Core Ultra 9 275HX 결과
네이티브 포트, 뉴럴 패스 없음1993년 게임에 걸맞은 수백 fps
DLSS 5, x1, output injection눈에 띄는 변화 없이 약 10 fps
DLSS 5, x2 to x4, render stage전면적인 재렌더링으로 10 fps 이하

여기서 발생하는 DLSS 5 성능 저하는 Doom 자체의 문제가 아니라 AI 모델의 비용 때문이며, Wolfenstein 3D나 Cyberpunk 2077에서도 동일한 비용이 발생합니다. DLSS 5 RTX 5090 노트북으로 테스트하는 유저라면 반드시 전원을 연결하세요. 배터리로는 이 실험을 감당할 수 없습니다.

문제 해결

  • Vulkan용으로 ReShade를 설치하면 패널이 나타나지 않습니다. DirectX 12로 재설치하세요.
  • 게임 내 안티앨리어싱이 켜져 있으면 효과가 비활성화됩니다. RBDOOM 설정에서 끄세요.
  • Enable Upscaling 체크 시 화면이 깜빡인다면 체크를 해제하세요.
  • 반복적인 토글로 VRAM 누수가 발생해 게임이 튕긴다면 재시작 후 슬라이더를 사용하세요.
  • x1 설정에서 아무 변화가 없는 것은 버그가 아니라 정상적인 동작입니다.

결론

작동은 하지만 보기 흉하며, 프레임의 95%를 갉아먹습니다. 학습이 덜 된 모델이 픽셀 아트에 어떤 짓을 하는지 보여주는 기술 데모로서는 완벽합니다. 하지만 Doom을 실제로 플레이하기 위한 용도라면, 다른 모든 방법을 고려하는 것이 좋습니다.

광고